NetBox Docker 全功能部署方案(Ubuntu 22.04 + Docker)

环境准备

  1. 检查操作系统版本
    • 本方案使用 Ubuntu 22.04,并在 VMware 虚拟机中运行。通过以下命令检查系统版本:

      复制代码
      lsb_release -a
    • 如果未安装 Ubuntu 22.04,请下载并安装一个全新的系统。

  2. 更新系统软件源
    • 更新软件包列表并安装最新软件:

      复制代码
      sudo apt-get update
      sudo apt-get upgrade -y
安装 Docker 和 Docker Compose
  1. 安装必备工具

    复制代码
    sudo apt-get install -y ca-certificates curl gnupg lsb-release
  2. 添加 Docker 官方 GPG 密钥和仓库

    复制代码
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update
  3. 安装 Docker Engine

    复制代码
    sudo apt-get install -y docker-ce docker-ce-cli containerd.io
    • 验证 Docker 安装:

      复制代码
      docker --version
  4. 配置 Docker 守护进程

    • 创建或编辑 Docker 守护进程配置文件 /etc/docker/daemon.json:

      复制代码
      sudo mkdir -p /etc/docker
      sudo tee /etc/docker/daemon.json <<EOF
      {
        "dns": ["114.114.114.114", "8.8.8.8"],
        "registry-mirrors": ["https://mirror.gcr.io"],
        "max-concurrent-downloads": 10,
        "max-download-attempts": 3
      }
      EOF
    • 重新加载 Docker 服务以应用配置:

      复制代码
      sudo systemctl daemon-reload
      sudo systemctl restart docker
    • 验证 Docker 服务状态:

      复制代码
      systemctl status docker
  5. 安装 Docker Compose(官方插件版)

    复制代码
    sudo apt-get install -y docker-compose-plugin
    • 验证 Docker Compose 安装:

      复制代码
      docker compose version
克隆 NetBox Docker 仓库并配置
  1. 创建项目目录并克隆源码

    复制代码
    mkdir -p ~/projects && cd ~/projects
    git clone -b release https://github.com/netbox-community/netbox-docker.git
    cd netbox-docker
  2. 配置 Docker Compose 覆盖文件

    • NetBox 默认使用 8080 端口,我们将其映射到宿主机的 8000 端口。在项目根目录创建 docker-compose.override.yml 文件:

      复制代码
      tee docker-compose.override.yml <<EOF
      services:
        netbox:
          ports:
            - "8000:8080"
      EOF
    • 这会将容器的 8080 端口映射到宿主机的 8000 端口。如果端口被占用,可更改为其他端口。

  3. 指定稳定版本镜像(可选)

    • 默认配置拉取最新版本镜像。如需使用稳定版本(例如 NetBox v4.2 对应 Docker 版本 3.2.1),创建 .env 文件:

      复制代码
      echo "VERSION=v4.2-3.2.1" > .env
拉取镜像并启动容器
  1. 拉取 Docker 镜像

    • 在 netbox-docker 目录下运行:

      复制代码
      docker compose pull
  2. 启动 NetBox 服务

    • 启动容器:

      复制代码
      docker compose up -d
    • 检查容器状态:

      复制代码
      docker compose ps
    • 等待几分钟,直到所有容器状态变为 healthy。可通过以下命令查看容器日志:

      复制代码
      docker compose logs netbox
创建管理员用户并访问 Web UI
  1. 创建超级管理员账户
    • NetBox 启动后,首次登录需创建管理员账户:

      复制代码
      docker compose exec netbox /opt/netbox/netbox/manage.py createsuperuser
    • 根据提示输入用户名、电子邮件和密码,完成后显示 Superuser created successfully。

  2. 访问 NetBox Web 界面
    • 获取虚拟机 IP 地址:

      复制代码
      hostname -I
    • 假设虚拟机 IP 为 192.168.1.100,通过浏览器访问:

      复制代码
      http://192.168.1.100:8000/
    • 使用刚创建的管理员账户登录,进入 NetBox 仪表盘。

  3. 功能验证
    • 登录后,验证核心功能(IPAM、DCIM、设备管理等)是否正常。尝试添加测试数据(如新设备或网络段),确认 API 和权限系统正常工作。
相关推荐
小牛马爱写博客7 小时前
K8s 中部署WordPress 博客
云原生·容器·kubernetes
snow@li7 小时前
服务器运维:堡垒机与服务器全景关系深度分析(架构、差异、协作、场景)
运维
爱和冰阔落7 小时前
【Linux】手写日志与固定线程池:任务队列、工作线程和安全退出
linux·运维·c++·redis·安卓
汪碧康7 小时前
xkube-v4.3版本的安全性进行了增强
docker·云原生·容器·kubernetes·xkube
Gl�ria7 小时前
Hadoop MapReduce / Hive 场景:ReduceTask 热点 Key 排查
运维·hadoop·数据倾斜
EterNity_TiMe_8 小时前
Pascal Editor 本地部署实战:Bun 启动 WebGPU 3D 编辑器,再解决公网访问报错
人工智能·docker·ai·容器·cpolar
snow@li8 小时前
服务器运维:K3S 下 Jenkins ↔ GitLab 的 CI/CD 闭环 / 访问成功
运维·gitlab·jenkins
志栋智能8 小时前
超自动化运维与DevOps的深度融合
运维·网络·人工智能·安全·自动化
AugustSkys11 小时前
从 Docker 到 Containerd:Kubernetes 时代容器运行时完全指南
docker·容器·kubernetes·containerd
猿与禅16 小时前
Linux(Ubuntu)入门到实战:系统管理、常用命令与权限体系完整指南
linux·ubuntu·apt·进程管理·系统运维·用户权限·vi/vim