【发布时间】:2021-01-06 09:48:39
【问题描述】:
我在 dockerfile 中设置了 env 变量,当我开始部署时,它并没有反映所有用户。除非我去终端并执行 source /etc/profile.d/ip.sh 那么只有它会影响到用户。如果不做这个活动,我们可以为所有用户设置这个值。如果是,我们需要如何实现它。
创建了shell脚本并添加到/etc/profile.d/ip.sh:
IP="1.1.1.1"
export IPADDR=$IP
Dockerfile:
COPY ip.sh /etc/profile.d
RUN chmod 644 /etc/profile.d/ip.sh
RUN . ./etc/profile.d/ip.sh
【问题讨论】:
-
这是完整的 dockerfile 吗?
-
No.. 我刚刚添加了我在 docker 文件中使用的命令
-
我只是想知道
/tmp/ip.sh是否在您的本地计算机中,还是已经存在/在图像本身中创建? -
基本上我已经在本地创建了脚本并将其复制到 /etc/profile.d 作为映像创建的一部分。
-
那么你应该使用
COPY ip.sh /etc/profile.d/来代替。RUN在构建期间在容器内执行。
标签: docker kubernetes openshift