首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >NetBox-docker 从 4.0.2 升级到 5.0.0

NetBox-docker 从 4.0.2 升级到 5.0.0

作者头像
YaoQi
发布2026-07-10 15:04:33
发布2026-07-10 15:04:33
1520
举报

NetBox 官方的 netbox-docker 本身不是一个单一的镜像,而是一个多容器编排项目(包含了 NetBox 核心、PostgreSQL 数据库、Redis、Redis-Worker 等多个组件)。

直接使用官方配置可以方便的体验,但当你需要修改一些配置,需要在镜像中打包自己用的插件,做自己的镜像时,就需要管理自己的修改版了。

因此,我使用新分支 custom 管理自己的配置变动。

首先克隆一份官方分支待用:

代码语言:javascript
复制
git clone https://github.com/netbox-community/netbox-docker.git

创建一个 custom 分支:

代码语言:javascript
复制
git checkout -b custom
# 或者(新版本Git 2.23+ 推荐使用)
git switch -c custom

在这个分支里修改自己的配置,运行服务,提交自己的新版本。

我当前用的版本是 4.0.2, 下一步我要跨版本升到 5.0.0,这一版特别提到

NetBox 会升到4.6.* 是个跨版本。祝我好运吧!

首先是数据备份,用备份数据重启一个服务,不要直接在线上直升,确认没问题再升线上。

实际存储路径在 /var/lib/docker/volumes 下。(未来要切换到单独挂载的数据路径)

还有一个自定义挂载的插件路径:/data/netbox-docker/plugins/

重新部署自己的 custom 版本,拉起一个新服务,同步数据后确认没问题。然后停掉这个服务,准备在此基础上升级。

代码语言:javascript
复制
# 1.开启服务
docker compose up -d

# 2.检查服务

# 3.停止服务
docker compose down

下面开始升级!

切到 custom 分枝,合并 5.0.0 的tag

代码语言:javascript
复制
git switch custom 
git fetch --tags
git tag | tail
代码语言:javascript
复制
git merge 5.0.0

现在5.0.0的内容已经合并了过来,我们看看这个版本修改了什么

代码语言:javascript
复制
git diff HEAD^ HEAD

升级了uv版本:

升级了ubuntu的版本:

升级了netbox镜像到V4.6:

还有一些库的升级:

可以看到,这个版本主要就是升级了Netbox版本,从4.5升到4.6,其他各个路径的挂载等毫无变化。

确认下旧版本提前down掉了,如果忘记了,记得切回上个版本down掉再回来

代码语言:javascript
复制
git switch -d HEAD~1
docker compose down
git switch custom 

好了,直接启动新版本,为了查看过程,我们不在后台启动,也就是不加-d参数

代码语言:javascript
复制
docker compose up

可以看到netbox启动时进行了数据库的 migrations

最后启动了工作进程,健康检查也OK

打开前端,哈哈,升级成功了

我们重开一个终端,再用 -d 参数启动一次

代码语言:javascript
复制
docker compose up -d

然后多操作操作,检查下各个部分是否有问题。没有问题就去升级线上吧。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档