加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何在Docker中使用容器的内部ip地址作为环境变量

发布时间:2020-12-14 01:40:55 所属栏目:Linux 来源:网络整理
导读:我正在尝试将docker容器的IP地址作为容器中的环境变量.这是我尝试过的: 启动容器时 docker run -dPi -e ip=`hostname -i` myDockerImage 当容器已经启动时 docker exec -it myDockerImage bash -c "export ip=`hostname -i`" 这两种方法的问题在于它使用运
我正在尝试将docker容器的IP地址作为容器中的环境变量.这是我尝试过的:

启动容器时

docker run -dPi -e ip=`hostname -i` myDockerImage

当容器已经启动时

docker exec -it myDockerImage bash -c "export ip=`hostname -i`"

这两种方法的问题在于它使用运行命令的主机的ip地址,而不是运行它的docker容器.

那么我在docker容器中创建了一个如下所示的脚本:

#!/bin/bash
export ip=`hostname -i`
echo $ip

然后运行它

docker exec -it myDockerImage bash -c ". ipVariableScript.sh"

当我添加my_cmd(在我的情况下是bash)到脚本的末尾时,它可以在一个bash会话中工作.我以后不能在我需要它的文件中使用它.我需要将它设置为环境变量,而不是作为一个会话的变量.

所以我已经用’.’来源了它.但是当我在容器中时,它仍然不会回响.如果我在脚本中放入echo $ip,它将为我提供正确的IP地址.但只能在正在设置的脚本中使用.

解决方法

Docker中的服务名称更可靠,更易于使用.但是,这是

如何将Docker来宾IP分配给guest中的环境var

$docker run -it ubuntu bash -c 'IP=$(hostname -i); echo ip=$IP'
ip=172.17.0.76

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读