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 和权限系统正常工作。
相关推荐
Elastic 中国社区官方博客6 小时前
在 Kibana 中可视化你的 Bosch Smart Home 数据
大数据·运维·elasticsearch·搜索引擎·信息可视化·全文检索·kibana
TG:@yunlaoda360 云老大6 小时前
如何将外部镜像文件导入华为云国际站代理商的IMS服务?
linux·运维·华为云
ascarl20106 小时前
准确--Kubernetes 修改 NodePort 端口范围操作文档
云原生·容器·kubernetes
何包蛋H6 小时前
Docker Maven 插件深度配置指南:Spotify vs Fabric8
docker·容器·maven
从零开始学习人工智能6 小时前
解决Docker容器无法访问宿主机IP和端口的全维度实践指南
tcp/ip·docker·容器
珠海西格电力6 小时前
零碳园区边缘计算节点规划:数字底座的硬件部署与能耗控制方案
运维·人工智能·物联网·能源·边缘计算
Henry Zhu1236 小时前
VPP中ACL源码详解第六篇:多核和性能优化实现以及调试与观测
运维·网络·网络协议·计算机网络·性能优化
苹果醋36 小时前
Java设计模式实战:从面向对象原则到架构设计的最佳实践
java·运维·spring boot·mysql·nginx
wanhengidc6 小时前
裸金属服务器都有哪些优势?
运维·服务器·安全·智能手机·生活
Jamesvalley6 小时前
【centos】安装python3.12
linux·运维·centos