有没有办法使用 link 别名获取 linked 容器的 ip?

is there a way to obtain ip of linked container using link alias?

我有两个容器,一个 link 到另一个。如下...

docker run -i -t --name container1 ubuntu:trusty

docker run -i -t --name container2 --link container1:aliasc1 ubuntu:trusty /bin/bash

有没有一种简单的方法可以使用 link 别名 aliasc1container2 获取 container1 的 ip?

我使用docker-compose

编排容器

Docker 将在 /etc/host 中为链接的容器创建一个条目。所以你可以从那里得到那个ip。即:

cat /etc/hosts | grep aliasc1 | awk {'print '}

Docker 为此自动创建环境变量。例如,如果 container1 公开端口 80,则 container2 将定义 $ALIASC1_PORT_80_TCP_ADDR

http://docs.docker.com/userguide/dockerlinks/#environment-variables

你可以试试getent

getent hosts aliasc1 | awk '{ print  }'

https://unix.stackexchange.com/questions/20784/how-can-i-resolve-a-hostname-to-an-ip-address-in-a-bash-script