轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
netbox

haji/netbox

haji

基于ninech/netbox:latest-ldap镜像,集成napalm-cumulus-develop,用于网络设备管理与配置的Docker化部署,支持LDAP认证及网络设备数据获取功能。

下载次数: 0状态:社区镜像维护者:haji仓库类型:镜像最近更新:7 年前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,不浪费每一次拉取。
点击查看

netbox-docker

本仓库包含将NetBox构建为Docker容器所需的组件。使用此代码构建的镜像每晚发布至https://hub.docker.com/r/ninech/netbox/tags/。

有疑问?在GitHub上提交issue前,请加入Network To Code并在#netbox-docker频道寻求帮助。

快速启动

如需启动NetBox:

bash
$ git clone -b master https://github.com/ninech/netbox-docker.git
$ cd netbox-docker
$ docker-compose pull
$ docker-compose up -d

几分钟后应用即可使用。使用docker-compose port nginx 8080查看连接地址:

bash
$ echo "http://$(docker-compose port nginx 8080)/"
http://0.0.0.0:32768/

# 在macOS上用默认浏览器打开netbox:
$ open "http://$(docker-compose port nginx 8080)/"

# 在大多数Linux系统上用默认浏览器打开netbox:
$ xdg-open "http://$(docker-compose port nginx 8080)/" &>/dev/null &

或者,使用https://github.com/ninech/reception连接到docker-compose项目。

默认凭据:

  • 用户名:admin
  • 密码:admin
  • API令牌:0123456789abcdef0123456789abcdef01234567

依赖项

本项目仅依赖Docker和docker-compose,需满足以下要求:

  • Docker版本至少为1.13.0
  • docker-compose版本至少为1.10.0

可通过docker --version和docker-compose --version命令检查版本是否符合要求。

配置

可通过环境变量配置应用,这些变量定义在netbox.env中。参考Compose中的环境变量了解覆盖这些变量的多种方式(最简单的方法是直接修改该文件)。

所有可能的变量可查看https://github.com/ninech/netbox-docker/blob/master/docker/configuration.docker.py和https://github.com/ninech/netbox-docker/blob/master/docker/docker-entrypoint.sh文件。通常,环境变量与NetBox配置变量同名。数组类型的变量通常通过空格分隔多个值,例如ALLOWED_HOSTS=localhost ::1 127.0.0.1允许通过http://localhost:8080、http://[::1]:8080和http://127.0.0.1:8080访问NetBox。

生产环境

默认设置针对(本地)开发环境优化,生产环境需调整配置,至少修改以下变量:

  • ALLOWED_HOSTS:添加所有指向NetBox实例的URL,空格分隔。例如ALLOWED_HOSTS=netbox.mycorp.com server042.mycorp.com 2a02:123::42 10.0.0.42 localhost ::1 127.0.0.1(建议始终允许本地连接以便调试,即localhost ::1 127.0.0.1)
  • DB_*:使用自己的持久化数据库,不要使用默认密码!
  • EMAIL_*:使用自己的邮件服务器
  • MAX_PAGE_SIZE:建议使用默认值1000
  • SUPERUSER_*:仅在初始设置时定义,数据库设置完成后删除,不要使用默认密码!
  • REDIS_*:使用自己的持久化Redis,不要使用默认密码!

在Docker Swarm/Kubernetes/OpenShift上运行

可在Docker Swarm、Kubernetes或OpenShift等集群中运行此镜像,但这属于高级用法。

建议通过容器平台提供的机制(如Docker Swarm配置、Kubernetes ConfigMap、OpenShift ConfigMaps),从https://github.com/digitalocean/netbox/blob/develop/netbox/netbox/configuration.example.py开始静态配置NetBox,并将其挂载到容器的/etc/netbox/config/目录。

若仍希望通过环境变量配置,可继续使用https://github.com/ninech/netbox-docker/blob/master/docker/configuration.docker.py。但不建议在环境变量中存储密钥,因为环境变量会传递给所有子进程,可能轻易泄露到其他系统(如错误收集工具常收集所有环境变量)。

因此,强烈建议使用容器平台提供的密钥机制(如Docker Swarm密钥、Kubernetes密钥、OpenShift密钥)。https://github.com/ninech/netbox-docker/blob/master/docker/configuration.docker.py和https://github.com/ninech/netbox-docker/blob/master/docker/docker-entrypoint.sh尝试从以下文件加载密钥:若环境变量和对应文件同时定义密钥,以环境变量值为准。

  • SUPERUSER_PASSWORD:/run/secrets/superuser_password
  • SUPERUSER_API_TOKEN:/run/secrets/superuser_api_token
  • DB_PASSWORD:/run/secrets/db_password
  • SECRET_KEY:/run/secrets/secret_key
  • EMAIL_PASSWORD:/run/secrets/email_password
  • NAPALM_PASSWORD:/run/secrets/napalm_password
  • REDIS_PASSWORD:/run/secrets/redis_password

同时请参考上述生产环境运行建议!

NAPALM配置

自v2.1.0起,NAPALM已与NetBox深度集成。NAPALM允许NetBox从设备获取实时数据并通过REST API返回给请求者。了解NAPALM及其工作原理,可参考NAPALM文档或NetBox集成文档。

如需启用此功能,在netbox.env(或相应密钥机制)中配置以下变量:

  • NAPALM_USERNAME:用于连接网络设备的通用用户名
  • NAPALM_PASSWORD:与用户名配合使用的密码
  • NAPALM_TIMEOUT:连接设备超时时间(无响应时)

若不需要此功能,保持这些变量为空即可。

自定义报告

NetBox包含自定义报告功能,允许用户编写Python代码验证NetBox中的数据有效性。REPORTS_ROOT变量映射到容器内的/reports/目录,包含文档中的devices.py示例,但已重命名为devices.py.example以避免默认报告不满足预期时产生问题。

如需启用默认报告,将devices.py.example重命名为devices.py,然后在WebUI中访问/extras/reports/。也可动态添加其他报告到此目录,NetBox无需重启即可识别。

自定义初始化代码(如自动设置自定义字段)

使用docker-compose时,/opt/netbox/startup_scripts中的所有Python脚本将在应用启动后以./manage.py上下文自动执行。

此机制可用于多种场景,例如创建NetBox自定义字段:

python
# docker/startup_scripts/load_custom_fields.py
from django.contrib.contenttypes.models import ContentType
from extras.models import CF_TYPE_TEXT, CustomField

from dcim.models import Device
from dcim.models import DeviceType

device      = ContentType.objects.get_for_model(Device)
device_type = ContentType.objects.get_for_model(DeviceType)

my_custom_field, created = CustomField.objects.get_or_create(
    type=CF_TYPE_TEXT,
    name='my_custom_field',
    description='我的自定义字段'
)

if created:
  my_custom_field.obj_type.add(device)
  my_custom_field.obj_type.add(device_type)

初始化器

初始化器是内置的启动脚本,用于定义NetBox自定义字段、组、用户等资源。只需挂载自己的initializers文件夹(https://github.com/ninech/netbox-docker/blob/master/docker-compose.yml)。参考https://github.com/ninech/netbox-docker/tree/master/initializers了解文件格式。

自定义字段定义示例:

yaml
# initializers/custom_fields.yml
text_field:
  type: text
  label: 自定义文本
  description: 在文本字段中输入文本
  required: false
  filter_logic: loose
  weight: 0
  on_objects:
  - dcim.models.Device
  - dcim.models.Rack
  - ipam.models.IPAddress
  - ipam.models.Prefix
  - tenancy.models.Tenant
  - virtualization.models.VirtualMachine

用户/组初始化器的可用权限组

获取最新可用权限列表,运行以下命令:

bash
# 确保'netbox'容器已运行!不确定可运行`docker-compose up -d`
echo "from django.contrib.auth.models import Permission\nfor p in Permission.objects.all():\n  print(p.codename);" | docker-compose exec -T netbox ./manage.py shell

自定义Docker镜像

也可构建包含自定义启动脚本、自定义字段、用户和组的NetBox Docker镜像:

dockerfile
ARG VERSION=latest
FROM ninech/netbox:$VERSION

COPY startup_scripts/ /opt/netbox/startup_scripts/
COPY initializers/ /opt/netbox/initializers/

Netbox版本

docker-compose.yml文件已配置为运行特定版本的NetBox。如需使用此功能,在启动docker-compose前设置环境变量VERSION,VERSION可设为https://hub.docker.com/r/ninech/netbox/tags/:

bash
$ export VERSION=v2.2.6
$ docker-compose pull netbox
$ docker-compose up -d

也可构建特定版本的NetBox镜像。此时VERSION表示https://github.com/digitalocean/netbox/releases上的任何有效Git引用,通常为标签或分支名:

bash
$ export VERSION=develop
$ docker-compose build --no-cache netbox
$ docker-compose up -d

提示:若按标签名构建特定版本,--no-cache参数并非必需,可加快配置调整时的构建速度。

LDAP启用变体

标记为“-ldap”的镜像包含用于LDAP或Active Directory服务器认证的所有必要组件。默认配置ldap_config.py适用于Active Directory服务器。可通过环境变量注入自定义值,与主要配置机制类似。

故障排除

本节收集常见问题及解决方法。若问题未列出,可查看现有issues或创建新issue。

Docker Compose基础操作

  • 使用docker-compose ps查看项目所有运行容器
  • 使用docker-compose logs -f查看日志,docker-compose logs -f netbox仅显示netbox日志
  • 使用docker-compose stop停止所有服务
  • 使用docker-compose down -v --remove-orphans清理所有资源(将删除所有相关数据)
  • 使用docker-compose exec netbox /bin/bash进入运行中的NetBox容器shell,可访问./manage.py(如重置密码)
  • 访问数据库:docker-compose exec postgres sh -c 'psql -U $POSTGRES_USER $POSTGRES_DB'
  • 创建数据库备份:docker-compose exec postgres sh -c 'pg_dump -cU $POSTGRES_USER $POSTGRES_DB' | gzip > db_dump.sql.gz
  • 恢复数据库备份:gunzip -c db_dump.sql.gz | docker exec -i $(docker-compose ps -q postgres) sh -c 'psql -U $POSTGRES_USER $POSTGRES_DB'

Nginx无法启动

首先停止docker-compose设置,然后找到并删除netbox-nginx-config卷:

bash
# 停止本地netbox-docker安装
$ docker-compose down

# 查找卷
$ docker volume ls | grep netbox-nginx-config
local               netbox-docker_netbox-nginx-config

# 删除卷
$ docker volume rm netbox-docker_netbox-nginx-config
netbox-docker_netbox-nginx-config

然后重新启动。若问题仍存在,查看日志:

bash
$ docker-compose logs -f nginx

出现“Bad Request (400)”错误

连接NetBox实例时出现“Bad Request (400)”错误。

通常是ALLOWED_HOSTS变量设置不正确导致。

如何升级

如何更新到新版本的netbox?

拉取最新镜像、停止并重启容器即可:

bash
docker-compose pull netbox
docker-compose stop netbox netbox-worker
docker-compose rm -f netbox netbox-worker
docker-compose up -d netbox netbox-worker

Webhooks不工作

首先确保Webhooks功能已启用且定义了Redis主机。检查netbox.env是否定义以下变量:

WEBHOOKS_ENABLED=true
REDIS_HOST=redis

然后确保redis容器和至少一个netbox-worker正在运行:

bash
# 检查容器状态
$ docker-compose ps

Name                           Command               State                Ports
--------------------------------------------------------------------------------------------------------
netbox-docker_netbox-worker_1   /opt/netbox/docker-entrypo ...   Up
netbox-docker_netbox_1          /opt/netbox/docker-entrypo ...   Up
netbox-docker_nginx_1           nginx -c /etc/netbox-nginx ...   Up      80/tcp, 0.0.0.0:32776->8080/tcp
netbox-docker_postgres_1        docker-entrypoint.sh postgres    Up      5432/tcp
netbox-docker_redis_1           docker-entrypoint.sh redis ...   Up      6379/tcp

# 连接Redis并发送PING命令:
$ docker-compose run --rm -T redis sh -c 'redis-cli -h redis -a $REDIS_PASSWORD ping'
Warning: Using a password with '-a' option on the command line interface may not be safe.
PONG

若redis和netbox-worker不可用,确保已更新docker-compose.yml文件!

若所有服务正常运行,检查netbox-worker和/或redis日志:

bash
docker-compose logs -f netbox-worker
docker-compose logs -f redis

仍无法解决,可连接redis容器监控执行的命令:

bash
docker-compose run --rm -T redis sh -c 'redis-cli -h redis -a $REDIS_PASSWORD monitor'

# 按多次CTRL-C退出

触发Webhook后无任何输出,需检查netbox和netbox-worker容器配置及NetBox管理界面中的Webhook配置。

重大变更

有时需要重新设计此设置结构,可能导致docker-compose.yml或Kubernetes/OpenShift配置需调整。自2018年4月起,从此仓库构建的每个镜像均包含NETBOX_DOCKER_PROJECT_VERSION标签。可通过docker inspect ninech/netbox:v2.3.1 --format "{{json .ContainerConfig.Labels}}"查看本地镜像标签,与以下列表比较是否存在重大变更:

  • 0.7.0:MAX_PAGE_SIZE环境变量值改为NetBox默认值1000
  • 0.6.0:默认启动脚本命名变更,若自定义脚本可能需调整
  • 0.5.0:Alpine更新至3.8,*.env移至/env文件夹
  • 0.4.0:使用NetBox Webhooks需在docker-compose.yml中添加Redis和netbox-worker
  • 0.3.0:字段filterable: <boolean替换为`filter

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 netbox 镜像标签

docker pull docker.xuanyuan.run/haji/netbox:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull haji/netbox:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
haji/netbox
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
商务合作:点击复制邮箱
用户协议·隐私政策·©2024-2026 源码跳动
用户协议·隐私政策©2024-2026 杭州源码跳动科技有限公司商务合作:点击复制邮箱

更多相关 Docker 镜像与资源

以下是 haji/netbox 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • netboxcommunity/netbox Docker 镜像说明(Netbox 网络基础设施管理系统)
  • linuxserver/netbox Docker 镜像说明(LinuxServer NetBox IPAM/DCIM,适合网络与数据中心资产管理)

更多 netbox 镜像推荐

netboxcommunity/netbox logo

netboxcommunity/netbox

netboxcommunity
社区维护的Netbox Docker镜像,用于便捷部署和运行开源IP地址管理(IPAM)与数据中心基础设施管理(DCIM)工具。
217 次收藏5000万+ 次下载
16 天前更新
linuxserver/netbox logo

linuxserver/netbox

LinuxServer.io 社区镜像
LinuxServer提供的NetBox镜像,用于IP地址管理(IPAM)和数据中心基础设施管理(DCIM),支持网络与数据中心基础设施的高效管理。
68 次收藏100万+ 次下载
20 天前更新
alpinelinux/netbox logo

alpinelinux/netbox

alpinelinux
dockerized netbox
1万+ 次下载
3 年前更新
pitkley/netbox logo

pitkley/netbox

pitkley
NetBox的Docker镜像,用于部署和运行DigitalOcean的NetBox网络设备管理系统。
9 次收藏10万+ 次下载
4 年前更新
ninech/netbox logo

ninech/netbox

ninech
⚠️⚠️⚠️ 注意:此Docker镜像已不再维护 ⚠️⚠️⚠️ netbox的Docker镜像已迁移至netboxcommunity/netbox,原仓库(ninech/netbox)将在2019年后删除,当前镜像仅为避免系统立即中断而临时保留。
22 次收藏100万+ 次下载
7 年前更新
tgenannt/netbox logo

tgenannt/netbox

tgenannt
netboxcommunity/netbox镜像新构建脚本的预览版。
5万+ 次下载
9 个月前更新

查看更多 netbox 相关镜像