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.pswp.cn/web/78937.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/78937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek Copilot idea插件推荐

&#x1f30c; DeepSeek Copilot for IntelliJ IDEA 让 AI 成为你的编程副驾驶&#xff0c;极速生成单元测试 & 代码注释驱动开发&#xff01; &#x1f680; 简介 DeepSeek Copilot 是一款为 IntelliJ IDEA 打造的 AI 编程助手插件&#xff0c;它能够智能分析你的代码逻辑…

QT中的JSON

1.JSON的两种数据格式 JSON有两种数据格式:JSON对象和JSON数组 JSON数组&#xff1a; JSON数组格式&#xff1a;[元素1&#xff0c;元素2&#xff0c;元素3&#xff0c;......元素n] JSON数组中的元素可以是同一类型&#xff0c;也可以使不同类型&#xff0c;可以嵌套JSON数组…

详细剖析传输层协议(TCP和UDP)

详细讲解传输层的网络协议&#xff0c;为什么TCP是可靠连接协议&#xff0c;凭什么能做到不丢包&#xff0c;有哪些机制保证可靠呢&#xff1f; TCP/UDP UDPTCP**三次握手和四次挥手****滑动窗口****拥塞控制**&#xff08;socket套接字&#xff09;**listen的第二个参数** UD…

数据可视化:艺术与科学的交汇点,如何让数据“开口说话”?

数据可视化&#xff1a;艺术与科学的交汇点&#xff0c;如何让数据“开口说话”&#xff1f; 数据可视化&#xff0c;是科技与艺术的结合&#xff0c;是让冰冷的数字变得生动有趣的桥梁。它既是科学——讲究准确性、逻辑性、数据处理的严谨性&#xff1b;又是艺术——强调美感…

解决使用lettuce连接Redis超时的问题(tcpUserTimeout 参数失效问题)

问题背景 lettuce 连接Redis的主从实例&#xff0c;当主节的主机异常下电重启后&#xff0c;由于没有发送RST 包&#xff0c;导致 lettuce 一直在复用之前的TCP链接&#xff0c;然后会出现连接超时的情况。一直出现io.lettuce.core.RedisCommandTimeoutException: Command tim…

如何使用python保存字典

在Python中&#xff0c;可以通过多种方式将字典&#xff08;dict&#xff09;保存到文件中&#xff0c;并能够随时读取恢复。以下是几种常见的方法&#xff1a; 1. 使用 json 模块&#xff08;推荐&#xff09; 适用场景&#xff1a;需要人类可读的文件格式&#xff0c;且数据不…

SQL 与 Python:日期维度表创建的不同选择

文章目录 一、日期维度表概述日期维度表结构 二、使用 SQL 创建日期维度表2.1 表结构设计2.2 数据插入2.3 SQL 创建方式的优势与局限 三、使用 Python 创建日期维度表3.1 依赖库引入3.2 代码实现3.3 Python 创建方式的优势与局限 四、应用场景与选择建议4.1 应用场景4.2 选择建…

如何用postman进行批量操作

业务场景&#xff1a; 有些时候&#xff0c;我们会需要批量的将SAP B1系统中的几千条的数据删除或者取消单据&#xff0c;这个时候&#xff0c;一条条去操作&#xff0c;指定是到猴年马月了。SAP Business One本身提供了DTW这个工具&#xff0c;但是这个更新&#xff0c;可以操…

Mysql如何完成数据的增删改查(详解从0到1)

前言&#xff1a; Mysql可能是每个程序员的必修课&#xff0c;可以说是使用起来是没有什么问题的&#xff0c;但是作为一名合格的程序猿&#xff0c;深入学习Mysql的内部工作原理是非常有必要的&#xff0c;主要是理解和学习Mysql的底层思想&#xff0c;希望在日后如遇到一些&…

单片机嵌入式按键库

kw_btn库说明 本库主要满足嵌入式按键需求&#xff0c;集成了常用的按键响应事件&#xff1a;高电平、低电平、上升沿、下降沿、单击、双击、长按键事件。可以裸机运行&#xff0c;也可以配合实时操作系统运行。 本库开源连接地址&#xff1a;连接 实现思路 本库采用C语言进行…

Qt—鼠标移动事件的趣味小程序:会移动的按钮

1.项目目标 本次根据Qt的鼠标移动事件实现一个趣味小程序&#xff1a;当鼠标移动到按钮时&#xff0c;按钮就会随机出现在置&#xff0c;以至于根本点击不到按钮。​​​​​ 2.项目步骤 首先现在ui界面设计控件(也可以用代码的方式创建&#xff0c;就不多说了) 第一个按钮不需…

MySQL的information_schema在SQL注入中的关键作用与防御策略

目录 一、information_schema的核心价值 二、攻击利用场景与示例 1. 联合查询注入&#xff08;Union-Based&#xff09; 2. 报错注入&#xff08;Error-Based&#xff09; 3. 布尔盲注&#xff08;Boolean Blind&#xff09; 4. 时间盲注&#xff08;Time-Based&#xff0…

c语言 关键字--目录

下面是详细介绍的链接 1.c语言 关键字 2.typedef 关键字 3.volatile 关键字 4.register 关键字 5.const关键字用法 6.extern关键字 7.sizeof关键字

python爬虫爬取网站图片出现403解决方法【仅供学习使用】

基于CSDN第一篇文章&#xff0c;Python爬虫之入门保姆级教程&#xff0c;学不会我去你家刷厕所。 这篇文章是2021年作者发表的&#xff0c;由于此教程&#xff0c;网站添加了反爬机制&#xff0c;有作者通过添加cookie信息来达到原来的效果&#xff0c;Python爬虫添加Cookies以…

docker创建一个centOS容器安装软件(以宝塔为例)的详细步骤

备忘&#xff1a;后续偶尔忘记了docker虚拟机与宿主机的端口映射关系&#xff0c;来这里查看即可&#xff1a; docker run -d \ --name baota \ --privilegedtrue \ -p 8888:8888 \ -p 8880:80 \ -p 8443:443 \ -p 8820:20 \ -p 8821:21 \ -v /home/www:/www/wwwroot \ centos…

linux 使用nginx部署ssl证书,将http升级为https

前言 本文基于&#xff1a;操作系统 CentOS Stream 8 使用工具&#xff1a;Xshell 8、Xftp 8 服务器基础环境&#xff1a; nginx - 请查看 linux 使用nginx部署vue、react项目 所需服务器基础环境&#xff0c;请根据提示进行下载、安装。 1.下载证书 以腾讯云为例&#x…

日常开发中,iOS 性能调优我们怎么做?

日常开发中&#xff0c;iOS 性能调优我们怎么做&#xff1f;聊聊我用过的几款工具 最近在给一个 iOS 视频类 App 做性能优化&#xff0c;过程中踩了不少坑&#xff0c;也用了一些不错的工具&#xff0c;今天就以一个开发者视角随便聊聊我在调试过程中的一些经验。 一、性能问…

Redis ⑨-Jedis | Spring Redis

Jedis 通过 Jedis 可以连接 Redis 服务器。 通过 Maven 引入 Jedis 依赖。 <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><versi…

【人工智能】解锁AI潜能:LM Studio多模型并行运行DeepSeek与开源大模型的实践指南

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着大语言模型(LLM)的快速发展,LM Studio作为一款本地化部署工具,以其简单易用的图形化界面和强大的模型管理能力受到广泛关注。本文深…

Node.js面试题

一、什么是Node.js&#xff1f; Node.js 是一个开源的跨平台 JavaScript 运行时环境&#xff0c;允许开发者在服务器端运行 JavaScript 代码。它基于 Chrome 的 V8 JavaScript 引擎构建&#xff0c;能够高效地处理 I/O 操作&#xff0c;适合构建高性能的网络应用。 异步非阻塞&…