假设我有以下内容:
a
pg_db
containerdocker run -d --name pg_db postgres
a
web
container, linked to thepg_db
containerdocker run -d --name web --link pg_db:db my-web-app
web
容器中,我可以通过 /etc/hosts
名称解析访问 pg_db
。# cat /etc/hosts
...
172.17.0.17 db
但是,如果我重新启动pg_db
容器,它会有一个新的IP地址,而文档说链接的容器应该自动更新它们的/etc/hosts
文件,但这并不是我的情况。
$ docker restart pg_db
$ docker inspect --format '{{.NetworkSettings.IPAddress}}' pg_db
172.17.0.21
同时,在仍在运行的Web
容器中:
# cat /etc/hosts
...
172.17.0.17 db <-- No change!!!
- 这是一个错误吗?
- 还是这是因为Docker的新行为,因此这个点上的文档已过时?
$ docker info
Containers: 5
Images: 67
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Dirs: 77
Execution Driver: native-0.2
Kernel Version: 3.13.0-24-generic
Operating System: Ubuntu 14.04 LTS
$ docker version
Client version: 1.3.0
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): c78088f
OS/Arch (client): linux/amd64
Server version: 1.3.0
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): c78088f