如何声明一个将保留在 docker 容器中的环境变量?

Posted

技术标签:

【中文标题】如何声明一个将保留在 docker 容器中的环境变量?【英文标题】:How can i declare an environment variable which would stay in a docker container? 【发布时间】:2021-10-10 04:17:51 【问题描述】:

我正在尝试使用

RUN export PATH=$PATH:/ant/apache-ant-1.10.11/bin:/maven/apache-maven-3.8.1/bin

并在脚本中调用它

export PATH=$PATH:/ant/apache-ant-1.10.11/bin:/maven/apache-maven-3.8.1/bin

而且它只是行不通。似乎在构建图像的管道之后变量被删除了。如果我从容器本身手动发送它就可以工作,但我需要它保持不变,因为它是用于 devOps 并且它将使用该变量进行编译(我有 2 种技术仅用于测试)

Any hints? I'm in a hurry.

【问题讨论】:

【参考方案1】:

您必须在 docker 文件中使用 env 关键字,如下所示:

ENV PATH=$PATH:/ant/apache-ant-1.10.11/bin:/maven/apache-maven-3.8.1/bin

这里https://docs.docker.com/engine/reference/builder/#env更多信息。

【讨论】:

以上是关于如何声明一个将保留在 docker 容器中的环境变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何知道 docker 容器中的哪些数据能够正确地将其映射为卷

如何将一个python应用以docker镜像的方式来运行?

如何在不同主机之间移动 Docker 容器?

1.6 Docker-数据管理

使用“exit”后如何保留docker alpine容器?

node项目怎么在离线环境生成容器镜像