【发布时间】:2018-07-21 02:37:46
【问题描述】:
我有一个 docker-compose 如下:
version: '3.2'
services:
web:
build: .
image: lap
volumes:
- ./webroot:/var/www/app
- ./configs/php.ini:/usr/local/etc/php/php.ini
- ./configs/vhost.conf:/etc/apache2/sites-available/000-default.conf
links:
- dbs:mysql
dbs:
image: mysql
ports:
- "3307:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
volumes:
- ./configs/conf.d:/etc/mysql/conf.d
- /var/mysql:/var/lib/mysql
docker --version
Docker 版本 17.05.0-ce,内部版本 89658be
docker-compose --version
docker-compose 版本 1.13.0,构建 1719ceb
lsb_release -a
没有可用的 LSB 模块。 分销商 ID:Debian 描述:Debian GNU/Linux 8.10 (jessie) 发布:8.10 代号:杰西
如果我运行以下命令并检查 php 容器上的 /etc/host 我看不到链接(我在执行 docker container --link 时看到)
docker-compose up -d
docker exec -it web_1 bash
root@web_1> cat /etc/hosts
127.0.0.1 本地主机
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.18.0.3 9c401ea7d031
dbs 容器分配了127.18.0.2 ip 地址,我期待的是上面/etc/hosts 中的这样的东西
127.18.0.2 dbs mysql
我在我的一个 Mac OSX 系统中看到了相同的行为,可能是我做错了什么或遗漏了什么?
【问题讨论】:
-
您的坐骑可能有问题?这个博客确实帮助我使我的连接正常工作,虽然它是关于 postgres 而不是 mysql:lvthillo.com/…
-
尝试从 Web 容器 ping "dbs" 或 "mysql"。它们应该只能通过服务名称访问。在我的情况下,我看到我的链接别名虽然不是
/etc/hosts -
@NiksonKantiPaul 请回答,谢谢提示
标签: docker docker-compose docker-container