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 和权限系统正常工作。
相关推荐
SelectDB1 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
曲幽2 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220703 天前
如何搭建本地yum源(上)
运维
武子康3 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
大树886 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠6 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质6 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工6 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Alsn866 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker