该ENV指令将环境变量设置为值。该值将出现在构建阶段所有后续指令的环境中
以下指令:
ENV PATH=$PATH:$HOME/go/bin
Run Code Online (Sandbox Code Playgroud)
不附加PATH变量
$HOME/go/bin是/root/go/bin
如何附加$HOME/go/bin到$PATH?在下面的 docker 文件中
FROM golang:1.14.10
MAINTAINER xyz
ENV GOPATH=
ENV PATH=$PATH:$HOME/go/bin
RUN echo $PATH
Run Code Online (Sandbox Code Playgroud)
显然,Docker 不允许您使用在or声明Dockerfile之外定义的环境变量。ENVARG
Dockerfile作为解决方法,您可以使用以下命令将名称/目录显式传递给您ARG:
FROM golang:1.14.10
# set default to `root`
ARG USERNAME=root
ENV PATH=$PATH:/$USERNAME/go/bin
RUN echo $PATH
Run Code Online (Sandbox Code Playgroud)
然后你可以通过USERNAMEviadocker build --build-arg USERNAME=myuser
根据您的用例,您也可以使用RUN或来执行此操作ENTRYPOINT。
| 归档时间: |
|
| 查看次数: |
6066 次 |
| 最近记录: |