resolve.conf 无法更改 - docker-alpine
resolve.conf can't be changed - docker-alpine
我要达到什么目的:
我在 AWS 的 2 个不同实例上启动 2 个容器。
我还有一个 route53 本地域来保存这些实例的记录。
当我从 'web' 实例 ping 到 'db' 实例时,我使用 "ping db.domain.local" 并且不能仅使用 "ping db"(反之亦然)。
到目前为止我做了什么:
更改了文件/etc/resolv.conf 来自
search domain.local
nameserver 127.0.0.11
options ndots:0
到(更改了 "options")
search domain.local
nameserver 127.0.0.11
options ndots:1
我得到的是:
成功了。
我得到的错误:
当我尝试更改 Dockerfile 或 docker-compose 过程中的 /etc/resolv.conf 文件时,出现错误
can't move '/etc/resolv.confOobcMn' to '/etc/resolv.conf': Resource busy.
目前的解决方法:
没有,因为我正在尝试让它与 Dockerfile 构建或 docker-compose up 进程一起工作
我的基础架构是:
Containers OS: Alpine Linux 3.4 based
Docker: 18.09.2
Docker-Compose: 1.23.2
Host OS: ubuntu \ MacOS
您不能覆盖 docker 容器中的 resolv.conf。 Docker 用 resolv.conf 做了一些有趣的事情来让他们的内部网络(GWBridge、Overlays)正常工作。
您可能想在启动容器时尝试使用他们的 --dns-opt=OPTIONS 标志,或者更新您的 docker-compose 以处理 dns 标志:
https://docs.docker.com/v17.09/engine/userguide/networking/default_network/configure-dns/
显然更改 systemd
单元文件中的 docker
命令有效。
您所要做的就是将 --dns-opt=ndots:15
添加到 /lib/systemd/system/docker.service
内的 ExecStart
行(取决于您的发行版)作为命令行的参数之一,然后重新启动 docker.
根据 github 上 following issue 的建议。
我要达到什么目的:
我在 AWS 的 2 个不同实例上启动 2 个容器。 我还有一个 route53 本地域来保存这些实例的记录。 当我从 'web' 实例 ping 到 'db' 实例时,我使用 "ping db.domain.local" 并且不能仅使用 "ping db"(反之亦然)。
到目前为止我做了什么:
更改了文件/etc/resolv.conf 来自
search domain.local
nameserver 127.0.0.11
options ndots:0
到(更改了 "options")
search domain.local
nameserver 127.0.0.11
options ndots:1
我得到的是:
成功了。
我得到的错误:
当我尝试更改 Dockerfile 或 docker-compose 过程中的 /etc/resolv.conf 文件时,出现错误
can't move '/etc/resolv.confOobcMn' to '/etc/resolv.conf': Resource busy.
目前的解决方法:
没有,因为我正在尝试让它与 Dockerfile 构建或 docker-compose up 进程一起工作
我的基础架构是:
Containers OS: Alpine Linux 3.4 based
Docker: 18.09.2
Docker-Compose: 1.23.2
Host OS: ubuntu \ MacOS
您不能覆盖 docker 容器中的 resolv.conf。 Docker 用 resolv.conf 做了一些有趣的事情来让他们的内部网络(GWBridge、Overlays)正常工作。
您可能想在启动容器时尝试使用他们的 --dns-opt=OPTIONS 标志,或者更新您的 docker-compose 以处理 dns 标志:
https://docs.docker.com/v17.09/engine/userguide/networking/default_network/configure-dns/
显然更改 systemd
单元文件中的 docker
命令有效。
您所要做的就是将 --dns-opt=ndots:15
添加到 /lib/systemd/system/docker.service
内的 ExecStart
行(取决于您的发行版)作为命令行的参数之一,然后重新启动 docker.
根据 github 上 following issue 的建议。