
jauderho/nebulajauderho/nebula 是基于 Nebula 项目构建的 Docker 镜像。Nebula 是一款可扩展的覆盖网络(overlay networking)工具,专注于性能、简单性和安全性,旨在帮助用户构建跨物理网络拓扑的加密虚拟网络,实现分布式节点间的安全通信。
该镜像提供多平台支持,上游版本发布后一小时内自动构建,并每周至少重建一次,确保镜像时效性和安全性。
nebula-cert 工具生成config.yml)bashdocker run -d \ --name nebula \ --restart unless-stopped \ -v /path/to/nebula/config:/etc/nebula \ # 挂载本地配置目录(含config.yml及证书) -p 4242:4242/udp \ # 暴露Nebula默认UDP端口(根据配置调整) jauderho/nebula:latest \ --config /etc/nebula/config.yml # 指定配置文件路径
-v /path/to/nebula/config:/etc/nebula:挂载宿主机目录到容器内,需包含 config.yml、CA 证书(ca.crt)、节点证书(node.crt)和私钥(node.key)-p 4242:4242/udp:Nebula 默认监听 UDP 4242 端口,需根据 config.yml 中的 listen 配置调整映射端口--config /etc/nebula/config.yml:指定容器内配置文件路径,与挂载路径对应创建 docker-compose.yml 文件:
yamlversion: '3.8' services: nebula: image: jauderho/nebula:latest container_name: nebula restart: unless-stopped volumes: - ./nebula-config:/etc/nebula # 宿主机配置目录(需提前创建并放入配置文件和证书) ports: - "4242:4242/udp" # 映射Nebula监听端口 command: --config /etc/nebula/config.yml # 指定配置文件路径 networks: - nebula-net # 可选:自定义网络(如需与其他容器通信) networks: nebula-net: driver: bridge
启动服务:
bashdocker-compose up -d
Nebula 的核心配置通过 config.yml 文件定义,以下为关键配置项说明:
yamlpki: ca_cert: /etc/nebula/ca.crt # CA证书路径 cert: /etc/nebula/node.crt # 节点证书路径 key: /etc/nebula/node.key # 节点私钥路径 listen: host: 0.0.0.0 # 监听地址(容器内建议0.0.0.0) port: 4242 # 监听端口(需与Docker端口映射对应) ***: am_***: false # 是否作为***节点(中心节点) peers: # ***节点列表(非***节点必填) - ip: 192.168.1.100 # ***节点IP port: 4242 # ***节点端口 static_hosts: # 静态节点(可选,用于无法自动发现的节点) "10.1.2.3": ["192.168.1.200:4242"] # 目标节点Nebula IP: [物理IP:端口] tun: dev: nebula0 # TUN设备名称(容器内无需修改) ip: 10.1.0.2/24 # 节点在Nebula网络中的IP及子网掩码
| 配置项 | 说明 |
|---|---|
pki | PKI证书配置,包含CA证书、节点证书和私钥路径,确保文件挂载到容器内对应路径 |
listen | Nebula监听配置,host建议设为0.0.0.0(容器内),port与Docker端口映射一致 |
*** | 节点配置:am_***: true表示本节点为中心节点,负责节点发现;非中心节点需配置peers指向节点 |
static_hosts | 静态节点列表,用于无法通过***自动发现的节点(如跨NAT环境) |
tun.ip | 节点在Nebula虚拟网络中的IP地址,需确保子网内唯一 |
| 环境变量名 | 默认值 | 说明 |
|---|---|---|
NEBULA_CONFIG | /etc/nebula/config.yml | 配置文件路径,可通过环境变量覆盖(如 NEBULA_CONFIG=/custom/config.yml) |
NEBULA_LOG_LEVEL | info | 日志级别,可选值:debug、info、warn、error |
NEBULA_EXTRA_ARGS | 空 | 额外命令行参数(如 --disable-tun 禁用TUN设备,用于调试) |
证书管理:Nebula依赖PKI体系,需提前使用 nebula-cert 工具生成CA证书、节点证书和私钥,确保配置文件中 pki 路径正确指向挂载的证书文件。
网络权限:容器需具备创建TUN设备的权限,部分环境可能需要添加 --cap-add=NET_ADMIN 到Docker命令(如 docker run --cap-add=NET_ADMIN ...)。
***节点部署:***节点需具备公网IP或可被其他节点访问的物理网络地址,建议部署在稳定网络环境(如云服务器)。
跨平台兼容性:镜像支持多架构(amd64、arm64等),可通过 docker pull --platform=linux/arm64 jauderho/nebula:latest 指定架构拉取。
日志查看:通过 docker logs nebula 查看运行日志,结合 NEBULA_LOG_LEVEL=debug 可获取详细调试信息。
docker pull jauderho/nebula:latest:v1.8.0)指定特定版本。





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