2014-10-05 70 views
1

二終端會話我有以下泊塢窗容器運行:泊塢窗容器環節不設置環境變量

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

(沒有更好的辦法只有運行BTW測試目的的空泊塢窗容器?)

當我運行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

幸運的是,我的一個好朋友(@tobiasgwaaler)比我更瞭解Docker,他慷慨地給了我答案。

爲了碼頭集裝箱共享其端口和IP,它需要EXPOSE端口號。因此,通過簡單地增加這個我Dockerfile

EXPOSE <port-number>

而且好哇,端口和IP是目前在env

DOCKER1_PORT=tcp://172.17.0.116:<port-number> 
可用