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 和权限系统正常工作。
相关推荐
G_H_S_3_21 分钟前
【网络运维】Playbook项目实战:基于 Ansible Playbook 一键部署 LNMP 架构服务器
linux·运维·服务器·网络·ansible
豆芽脚脚43 分钟前
docker compose再阿里云上无法使用的问题
阿里云·docker·容器
yuxb731 小时前
Ansible 学习笔记:变量事实管理、任务控制与文件部署
linux·运维·笔记
岚天start1 小时前
Linux sar命令详细使用指南
linux·运维·服务器·负载·sar·磁盘io·sysstat
遇见火星2 小时前
Jenkins全链路教程——Jenkins调用Maven构建项目
运维·jenkins·maven
十行代码九行报错3 小时前
Docker基础学习笔记
笔记·学习·docker
wanhengidc6 小时前
当云手机出现卡顿怎么办?
运维·服务器·安全·智能手机
clever1019 小时前
在ubuntu系统上离线安装jenkins的做法
ubuntu·servlet·jenkins
寻道模式10 小时前
【运维心得】三步10分钟拆装笔记本键盘
运维·计算机外设·笔记本
炫友呀12 小时前
Centos 更新/修改宝塔版本
linux·运维·centos