在两个终端会话中,我运行了以下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告诉它是什么。
答案 0 :(得分:1)
为了让docker容器共享其端口和ip,需要EXPOSE
端口号。因此,只需将其添加到我的Dockerfile
:
EXPOSE <port-number>
huzzah,端口和IP现已在env
DOCKER1_PORT=tcp://172.17.0.116:<port-number>