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 和权限系统正常工作。
相关推荐
小马爱打代码1 小时前
K8S - 金丝雀发布实战 - Argo Rollouts 流量控制解析
云原生·容器·kubernetes
虎头金猫2 小时前
如何解决 403 错误:请求被拒绝,无法连接到服务器
运维·服务器·python·ubuntu·chatgpt·centos·bug
muxue1783 小时前
关于almalinux分区配置:
linux·运维·数据库
dqsh064 小时前
树莓派5+Ubuntu24.04 LTS串口通信 保姆级教程
人工智能·python·物联网·ubuntu·机器人
独行soc5 小时前
2025年渗透测试面试题总结-某服面试经验分享(附回答)(题目+回答)
linux·运维·服务器·网络安全·面试·职场和发展·渗透测试
C-20026 小时前
使用Deployment部署运行Nginx和Apache服务
运维·kubernetes·apache
惜.己7 小时前
linux中的常用命令(一)
linux·运维·服务器
lcw_lance7 小时前
数字孪生[IOC]常用10个技术栈(总括)
大数据·运维·人工智能
乐维_lwops9 小时前
金融企业如何借力运维监控强化合规性建设?
运维·金融·运维监控