本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

多架构Docker镜像,基于Alpine,可通过环境变量完全配置,用作本地DHCP和/或DNS服务器。
本镜像旨在提供一个可通过环境变量完全配置的DNS/DHCP服务器解决方案,遵循12因素应用原则,实现无状态容器运行。不再基于andyshinn/dnsmasq镜像(该镜像已过时),主要用于简单/家庭环境的DNS和DHCP设置。
docker run --rm -it drpsychick/dnsmasq:latest --test docker run --rm -it drpsychick/dnsmasq:latest --export > dnsmasq.env
在单独的终端中执行:
docker run --rm -it --cap-add NET_ADMIN --env-file dnsmasq.env --name dnsmasq-1 drpsychick/dnsmasq:latest -k -q --log-facility=-
# 测试DNS和DHCP container_ip=$(docker inspect dnsmasq-1 -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}') docker_interface=$(docker network inspect bridge -f '{{index .Options "com.docker.network.bridge.name"}}') nslookup google.com $container_ip # 测试DHCP(需要管理员权限) sudo ip link add test0 link docker0 type macvlan mode bridge sudo dhclient -1 -d -s $container_ip test0 sudo ip link del test0 link docker0 type macvlan mode bridge
如果因新增默认网关导致路由问题(可通过route -n检查),执行以下命令修复:
sudo route del -net 172.17.10.0/24 gw 172.10.10.1 dev $docker_interface
要使容器从本地子网获取IP并为子网提供服务,需要进行额外配置(若无需DHCP服务,可跳过大部分步骤)。
DHCP服务仅在其运行的接口所在子网范围内生效,即DHCP服务需要在其提供服务的子网中拥有一个IP地址。
假设网络环境:
DMQ_DNS_HOST1=gateway,gateway.local,192.168.1.1 DMQ_DHCP_GATEWAY=dhcp-option=3,192.168.1.1 DMQ_DHCP_RANGES=dhcp-range=192.168.1.110,192.168.1.120,24h DMQ_DHCP_DNS=dhcp-option=6,192.168.1.253,8.8.8.8,8.8.4.4
测试配置是否正确:
docker run --rm -it --env-file dnsmasq.env drpsychick/dnsmasq:latest --test
为使容器从本地子网获取IP,需使用macvlan驱动;为使主机能与容器通信,需创建虚拟接口:
# 创建链接接口mac0(替代物理接口eth1) sudo ip link add mac0 link eth1 type macvlan mode bridge sudo ip addr flush dev eth1 sudo dhclient mac0 # 创建macvlan网络(本地子网) docker network create --driver macvlan --subnet 192.168.1.0/24 --gateway 192.168.1.1 -o parent=mac0 local-net
在单独终端中执行:
docker run --rm -it --net local-net --ip 192.168.1.253 --cap-add NET_ADMIN --env-file dnsmasq.env --publish 53:53 --publish 53:53/udp --publish 67:67/udp --name dnsmasq-1 drpsychick/dnsmasq:latest -k -q --log-facility=-
# 测试DNS nslookup google.de 192.168.1.253 # 测试DHCP(需要管理员权限) sudo ip link add mac1 link eth1 type macvlan mode bridge sudo dhclient -1 -d -s 192.168.1.253 mac1 sudo ip link del mac1
# 后台运行并设置自动重启 docker run -d --net local-net --ip 192.168.1.253 --cap-add NET_ADMIN --env-file dnsmasq.env --restart always --publish 53:53 --publish 53:53/udp --publish 67:67/udp --name dnsmasq-1 drpsychick/dnsmasq:latest -k -q --log-facility=- # 查看日志 docker attach --sig-proxy=false dnsmasq-1
对于非DHCP服务,可通过以下简化方式部署:
# 为物理接口添加IP sudo ip addr add 192.168.1.253/32 dev eth1 # 运行容器(指定IP发布端口) docker run ... --publish 192.168.1.253:53:53 ...
自动化构建灵感来源于:
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429