我得到了一个覆盆子pi并与docker一起运行。
我有一个包含pi-hole(广告拦截器)的容器,我想将DNS查询指向它。
所以我得到了一个OpenVPN容器,其配置是:
push "dhcp-option DNS 172.200.0.10"
但是为了它的工作,我必须在我的docker-compose文件中声明一个网络并修复一个ip地址(在本例中为172.200.0.10)。
我想做一些更优雅的事情,如:
push "dhcp-option DNS pihole"
有可能吗?
这是我的docker-compose文件:
version: "3"
services:
pihole:
image: diginc/pi-hole-multiarch:debian_armhf
container_name: pihole
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80/tcp"
environment:
ServerIP: ****
PROXY_LOCATION: pihole
VIRTUAL_HOST: ****
VIRTUAL_PORT: ****
WEBPASSWORD: ****
extra_hosts:
- "****:****"
networks:
public:
ipv4_address: 172.100.0.10
private:
ipv4_address: 172.200.0.10 # To be set in openvpn.conf as push "dhcp-option DNS 172.200.0.10"
restart: always
openvpn:
image: mjenz/rpi-openvpn
container_name: openvpn
ports:
- "1194:1194/udp"
cap_add:
- NET_ADMIN
links:
- "pihole:pihole"
volumes:
- "/etc/openvpn-data/conf:/etc/openvpn"
networks:
public:
ipv4_address: 172.100.0.11
private:
ipv4_address: 172.200.0.11
restart: always
networks:
public:
ipv4_address: 172.100.0.12
private:
ipv4_address: 172.200.0.12
restart: always
networks:
public:
ipam:
config:
- subnet: 172.100.0.0/16
private:
ipam:
config:
- subnet: 172.200.0.0/16
PS:我的docker文件中有一个pihole的链接,并且在我的openVPN容器中ping pihole工作
答案 0 :(得分:2)
links
是一项遗留功能,将来会被删除。请改用depends_on
。
在你的例子中:
version: "3"
services:
pihole:
...
openvpn:
depends_on:
- pihole
...
然后,在openVPN容器中,您可以使用名称pihole
来引用您的pihole容器。