Docker exec和Docker run为我提供了不同的resolv.conf主机

Docker exec和Docker run为我提供了不同的resolv.conf主机,docker,docker-compose,hostname,Docker,Docker Compose,Hostname,我使用docker compose启动了两个容器1。网络应用程序2。mysql数据库。我已经准备好了所有的脚本和Dockerfile,可以开始工作了。我的应用程序通过主机名对其他计算机进行ping,并要求resolv.conf与主机相同。启动docker compose后,我可以看到两个容器都是这样运行的: #:~/home/user # docker-compose images /bin/sh: /tmp/_MEIXmPrg9/libreadline.so.7: no version inf

我使用docker compose启动了两个容器1。网络应用程序2。mysql数据库。我已经准备好了所有的脚本和Dockerfile,可以开始工作了。我的应用程序通过主机名对其他计算机进行ping,并要求
resolv.conf
与主机相同。启动docker compose后,我可以看到两个容器都是这样运行的:

#:~/home/user # docker-compose images
/bin/sh: /tmp/_MEIXmPrg9/libreadline.so.7: no version information available (required by /bin/sh)
/bin/sh: /tmp/_MEIXmPrg9/libreadline.so.7: no version information available (required by /bin/sh)
         Container             Repository     Tag       Image Id      Size
---------------------------------------------------------------------------
webapp-gui_app_1_1b87619cd08b   webapp-gui_app   latest   f0982b82c556   467 MB
webapp-gui_db_1_bd74de835067    mysql          5.7      702fb0b7837f   355 MB
在我的webapp上,
ping
命令不允许我按主机名ping,因此当我尝试运行交互式模式进行故障排除时,我注意到在使用以下命令运行时:

docker run -it webapp-gui_app_1_1b87619cd08b /bin/sh 
这将提供正确的
resolv.conf
,但是,当我这样运行它时,我能够成功地ping主机名

docker exec -u 0 -it webapp-gui_app_1_1b87619cd08b sh
我的resolv.conf文件更改为以下内容(不正确的
resolv.conf
),我无法再按主机名ping其他本地计算机。有人知道为什么吗

/etc # cat resolv.conf
search mydomain.com
nameserver 127.0.0.11
options ndots:0