我使用docker compose启动了两个容器1. flask webapp 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
在我的Web应用程序上,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