gpt4 book ai didi

docker - Docker容器链接未设置环境变量

转载 作者:行者123 更新时间:2023-12-02 19:43:47 27 4
gpt4 key购买 nike

在两个终端 session 中,我正在运行以下docker容器:
docker run -i --name docker1 centos:centos6 /bin/bashdocker run -i --name docker2 centos:centos6 /bin/bashdocker ps产生:
8c67bb6975f7 centos:centos6 /bin/bash 7 minutes ago docker18c67bb6975f7 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来分辨它是什么。

最佳答案

幸运的是,我的一个好 friend (@tobiasgwaaler)比我对Docker有了更好的了解,他客气地给了我答案。

为了使docker容器共享其端口和ip,需要对端口号EXPOSE进行编码。因此,只需将其添加到我的Dockerfile中:
EXPOSE <port-number>
现在,在env中可以使用端口和IP

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

关于docker - Docker容器链接未设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26202998/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com