
propellent/netboxNetBox 是一款IP地址管理(IPAM)和数据中心基础设施管理(DCIM)工具。最初由DigitalOcean的网络工程团队设计,专门用于满足网络和基础设施工程师的需求,旨在作为网络运营的特定领域事实来源。
LinuxServer.io团队提供的此容器具有以下特点:
我们的镜像支持多种架构,如x86-64、arm64和armhf。我们利用docker manifest实现多平台支持。只需拉取ghcr.io/linuxserver/netbox即可获取适合您架构的正确镜像,也可通过标签拉取特定架构的镜像。
支持的架构及对应标签:
| 架构 | 标签 |
|---|---|
| x86-64 | amd64-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
以下是帮助您开始创建容器的示例代码片段。
兼容docker-compose v2架构。
yaml--- version: "2.1" services: netbox: image: ghcr.io/linuxserver/netbox container_name: netbox environment: - PUID=1000 - PGID=1000 - SUPERUSER_EMAIL=<SUPERUSER_EMAIL> - SUPERUSER_PASSWORD=<SUPERUSER_PASSWORD> - SUPERUSER_API_TOKEN=<SUPERUSER_TOKEN> - ALLOWED_HOST=<ALLOWED_HOST> - BASE_PATH=<BASE_PATH> - DB_NAME=<DB_NAME> - DB_USER=<DB_USER> - DB_PASSWORD=<DB_PASSWORD> - DB_HOST=<DB_HOST> - DB_PORT=<DB_PORT> - REDIS_HOST=<REDIS_HOST> - REDIS_PORT=<REDIS_PORT> - REDIS_PASSWORD=<REDIS_PASSWORD> - TZ=<TZ> volumes: - <主机数据路径>:/config ports: - 8000:8000 restart: unless-stopped
docker run -d \ --name=netbox \ -e PUID=1000 \ -e PGID=1000 \ -e SUPERUSER_EMAIL=<SUPERUSER_EMAIL> \ -e SUPERUSER_PASSWORD=<SUPERUSER_PASSWORD> \ -e SUPERUSER_API_TOKEN=<SUPERUSER_TOKEN> \ -e ALLOWED_HOST=<ALLOWED_HOST> \ -e BASE_PATH=<BASE_PATH> \ -e DB_NAME=<DB_NAME> \ -e DB_USER=<DB_USER> \ -e DB_PASSWORD=<DB_PASSWORD> \ -e DB_HOST=<DB_HOST> \ -e DB_PORT=<DB_PORT> \ -e REDIS_HOST=<REDIS_HOST> \ -e REDIS_PORT=<REDIS_PORT> \ -e REDIS_PASSWORD=<REDIS_PASSWORD> \ -e TZ=<TZ> \ -p 8000:8000 \ -v <主机数据路径>:/config \ --restart unless-stopped \ ghcr.io/linuxserver/netbox
容器镜像通过运行时传递的参数进行配置(如上所示)。这些参数用冒号分隔,表示<外部>:<内部>。例如,-p 8080:80会将容器内的80端口暴露到主机IP的8080端口。
| 参数 | 功能 |
|---|---|
-p 8000 | 将容器的8000端口映射到主机的8000端口 |
-e PUID=1000 | 用户ID - 详见下方说明 |
-e PGID=1000 | 组ID - 详见下方说明 |
-e SUPERUSER_EMAIL=<SUPERUSER_EMAIL> | 管理员账户的*** |
-e SUPERUSER_PASSWORD=<SUPERUSER_PASSWORD> | 管理员账户的密码 |
-e SUPERUSER_API_TOKEN=<SUPERUSER_API_TOKEN> | 管理员账户的40字符API令牌 |
-e ALLOWED_HOST=<ALLOWED_HOST> | 访问应用的主机名(例如:netbox.example.com) |
-e BASE_PATH=<BASE_PATH> | 访问应用的路径(例如:/netbox,可选,默认:无) |
-e DB_NAME=<DB_NAME> | 数据库名称(可选,默认:netbox) |
-e DB_USER=<DB_USER> | 数据库用户 |
-e DB_PASSWORD=<DB_PASSWORD> | 数据库密码 |
-e DB_HOST=<DB_HOST> | 数据库主机(可选,默认:postgres) |
-e DB_PORT=<DB_PORT> | 数据库端口(可选) |
-e REDIS_HOST=<REDIS_HOST> | Redis主机(可选,默认:redis) |
-e REDIS_PORT=<REDIS_PORT> | Redis端口号(可选,默认:6379) |
-e REDIS_PASSWORD=<REDIS_PASSWORD> | Redis密码(可选,默认:无) |
-e TZ=<TZ> | 时区(例如:America/New_York) |
-v /config | 配置目录卷映射 |
您可以使用特殊前缀FILE__从文件设置任何环境变量。
例如:
-e FILE__PASSWORD=/run/secrets/mysecretpassword
这将根据/run/secrets/mysecretpassword文件的内容设置环境变量PASSWORD。
对于我们所有的镜像,您可以使用可选的-e UMASK=022设置来覆盖容器内启动的服务的默认umask设置。请注意,umask不是chmod,它基于其值减去权限,而不是添加。请在请求支持前阅读此处的相关内容。
使用卷(-v标志)时,主机操作系统和容器之间可能会出现权限问题。我们通过允许您指定用户PUID和组PGID来避免此问题。
确保主机上的任何卷目录都由您指定的相同用户拥有,任何权限问题都将迎刃而解。
在这种情况下,PUID=1000和PGID=1000,要找到您的PUID和PGID,请使用id user命令:
$ id username uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
通过
我们发布了各种Docker Mods以启用容器内的附加功能。可用于此镜像的Mods列表(如有)以及可应用于我们任何镜像的通用Mods可通过上方的动态徽章访问。
docker exec -it netbox /bin/bashdocker logs -f netboxdocker inspect -f '{{ index .Config.Labels "build_version" }}' netboxdocker inspect -f '{{ index .Config.Labels "build_version" }}' ghcr.io/linuxserver/netbox我们的大多数镜像是静态的、版本化的,需要更新镜像并重新创建容器才能更新内部的应用。除某些例外(如nextcloud、plex),我们不建议或支持在容器内更新应用。请参考上方的应用设置部分,了解是否推荐对此镜像进行应用更新。
以下是更新容器的说明:
docker-compose pull
docker-compose pull netboxdocker-compose up -d
docker-compose up -d netboxdocker image prunedocker pull ghcr.io/linuxserver/netboxdocker stop netboxdocker rm netbox/config文件夹和设置将被保留)docker image prunedocker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once netbox
docker image prune注意: 我们不认可使用Watchtower作为现有Docker容器自动更新的解决方案。事实上,我们通常不鼓励自动更新。但是,对于您忘记原始参数的容器,这是一个有用的一次性手动更新工具。从长远来看,我们强烈建议使用Docker Compose。
如果您想对这些镜像进行本地修改以用于开发目的或自定义逻辑:
git clone [***] cd docker-netbox docker build \ --no-cache \ --pull \ -t ghcr.io/linuxserver/netbox:latest .
可以使用multiarch/qemu-user-static在x86_64硬件上构建ARM变体:
docker run --rm --privileged multiarch/qemu-user-static:register --reset
注册后,您可以使用-f Dockerfile.aarch64指定要使用的dockerfile。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务