当前位置: 首页 > ds >正文

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 和权限系统正常工作。

http://www.xdnf.cn/news/4627.html

相关文章:

  • k8s 中 deployment 管理的多个 pod 构成集群吗
  • PostgreSQL 查询历史最大进程数方法
  • 商汤科技前端面试题及参考答案
  • 服务器上机用到的设备
  • .net在DB First模式使用pgsql
  • K8s节点宕机自愈全流程解析
  • 【数据结构入门训练DAY-28】蓝桥杯算法提高VIP-产生数
  • 【前端基础】7、CSS的字体属性(font相关)
  • React Router Vs Vue Router
  • AGV智能搬运机器人:富唯智能引领工业物流高效变革
  • DeepSeek架构解析:从神经动力学视角解构万亿参数模型的认知涌现机制
  • 企业该如何选择合适的DDOS防护?
  • C++代码随想录刷题知识分享-----判断两个字符串是否为字母异位词(Anagram)【LeetCode 242】
  • 【论文阅读】Reconstructive Neuron Pruning for Backdoor Defense
  • C++类对象的隐式类型转换和编译器返回值优化
  • idea左侧项目资源管理器不见了处理
  • Python+深度学习:如何精准评估食品过敏风险?
  • 代码随想录Day20
  • Canal mysql to mysql 增加 online 库同步配置指南
  • MATLAB技巧——命令行输入的绘图,中文是正常的,到了脚本(m文件)里面就变成乱码的解决方法
  • 普通笔记本与军用加固笔记本电脑的区别,探索防水、防爆、防摔的真·移动工作站!
  • 2025软考【系统架构设计师】:两周极限冲刺攻略(附知识点解析+答题技巧)
  • java ReentrantLock
  • MySQL的基本操作
  • 《Python星球日记》 第46天:决策树与随机森林
  • 二分查找习题
  • SQL 中的中括号 [ ]、双引号 “ “、反引号 ` `:SQL Server、Oracle、MySQL三大数据库标识符 定界符 详解
  • Xilinx XCKU11P-2FFVA1156I 赛灵思 FPGA AMD Kintex UltraScale+
  • K8S - 金丝雀发布实战 - Argo Rollouts 流量控制解析
  • Python案例实战《鲜花识别模型训练及调用》