Docker容器链接没有设置环境变量

时间:2014-10-05 13:29:33

标签: docker

在两个终端会话中,我运行了以下docker容器:

docker run -i --name docker1 centos:centos6 /bin/bash

docker run -i --name docker2 centos:centos6 /bin/bash

docker ps收益:

8c67bb6975f7 centos:centos6 /bin/bash 7 minutes ago docker1

8c67bb6975f7 centos:centos6 /bin/bash 7 minutes ago docker2

(为了测试目的,只运行一个空的docker容器的更好的方法是什么?)

当我运行docker run -i --name link --link docker1:docker1 --link docker2:docker2 centos:centos6 /bin/bash并调用env时,我得到以下结果:

DOCKER1_NAME=/docker1
HOSTNAME=b8403b72030d
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
SHLVL=1
HOME=/
DOCKER2_NAME=/docker2

因为你可以看到我只获得容器的NAME,而不是我真正想要的端口和IP。我觉得有些东西我误解了,但我不能通过查看docs告诉它是什么。

1 个答案:

答案 0 :(得分:1)

幸运的是,我的一位好朋友(@tobiasgwaaler)比我更了解Docker,他慷慨地给了我答案。

为了让docker容器共享其端口和ip,需要EXPOSE端口号。因此,只需将其添加到我的Dockerfile

即可

EXPOSE <port-number>

huzzah,端口和IP现已在env

中提供
DOCKER1_PORT=tcp://172.17.0.116:<port-number>