我最近在我的Ubuntu上将docker版本升级到最新的1.9版本。在升级期间,docker网桥桥接网关已从172.17.42.1
更改为172.17.0.1
。
我有一些现有的容器,其中resolv.conf仍指向172.17.42.1
,所以每当我重新启动容器时,resolv.conf重置为172.17.42.1
。我试图修改/var/lib/docker/containers/<containerid>/resolv.conf
,但它没有效果。
目前每当我重新启动容器时,我都会连接到容器并手动更改/etc/resolv.conf
文件。容器重启期间,此文件的更改将丢失。我不想杀死我的容器并重新创建它们。
有没有办法让我的resolv.conf对现有容器永久化?
提前致谢 -Kesav
答案 0 :(得分:0)
我正在构建一个可更改主机网络的便携式系统,我发现的解决方案是将您的容器创建为主机,并将一个卷从主机resolv.conf绑定到容器resolv.conf,这主要是因为如果容器更改网络时,已经启动,将不会更新
这是docker-compose服务声明的示例
gpioctl:
container_name: gpioctl
image: registry.gitlab.com/absadevelopers/bluetoothgateway/bluetoothgateway_gpioctl
network_mode: host
volumes:
- /var/log/knesys:/var/log/knesys
- /etc/resolv.conf:/etc/resolv.conf:ro
restart: unless-stopped
depends_on:
- nodesetup