我刚刚在我的 Pi4 上安装了 PiHole。很酷的事情。现在我想编写一个新的 docker 镜像,其中包含来自 GitHub 的 git clone,其结尾为:
fatal: unable to access 'https://github.com/…/': Could not resolve host: github.com
pihole docker-compose 服务:
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp"
- "80:80/tcp"
- "443:443/tcp"
dns:
- 127.0.0.1 # self
- 10.0.0.1 # fritzbox
- 8.8.8.8 # google
environment:
TZ: 'Europe/Berlin'
WEBPASSWORD: …
ServerIP: '10.0.0.2'
VIRTUAL_HOST: 'pihole'
REV_SERVER: 'true' # for local name resolutoin
REV_SERVER_CIDR: '10.0.0.0/24' # lan
REV_SERVER_TARGET: '10.0.0.1' # router
REV_SERVER_DOMAIN: 'fritz.box' # local domain
WEBUIBOXEDLAYOUT: 'traditional'
# Volumes store your data between container upgrades
volumes:
- './etc/pihole/:/etc/pihole/'
- './etc/dnsmasq.d/:/etc/dnsmasq.d/'
# Recommended but not required (DHCP needs NET_ADMIN)
# https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
cap_add:
- NET_ADMIN
restart: unless-stopped
所有 docker 容器都在默认网络(172...)中运行,我的路由器是 DHCP 服务器,pi 是 DNS 服务器,路由器(fritzbox)配置为返回 RPis IP 作为本地 DNS 服务器。
如何使 docker 容器内的 DNS 再次工作?
这种行为极具误导性。真正的问题不是 DNS,而是 libseccomp2 问题。
对于 Raspbian,
libseccomp
使用以下命令在主机系统上手动升级:原帖在这里。