Abi*_*oso 5 bash environment-variables docker
我在一个名为的脚本中有一个变量 image_name
image_name="my-app"
Run Code Online (Sandbox Code Playgroud)
我试图将此变量传递给docker容器,如下所示:
docker build -t $image_name .
docker run --rm --name $image_name -e "app_dir=${image_name}" $image_name
Run Code Online (Sandbox Code Playgroud)
但是这个变量没有设置,并且在docker构建的上下文中是空白的
这是以下Dockerfile的片段:
....
RUN echo dir is $app_dir
....
Run Code Online (Sandbox Code Playgroud)
这是以下构建输出的片段:
....
Step 2 : RUN echo dir is $app_dir
---> Running in db93a939d701
dir is
---> c9f5e2a657d5
Removing intermediate container db93a939d701
....
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何进行变量替换?
请注意,您正在使用Dockerfile. 该变量将在构建时 ( ) 求值docker build,因此您需要在此时传递它的值。这可以通过参数来实现--build-arg。
改变你的例子,它将是:
docker build --build-arg app_dir=${image_name} -t $image_name .
docker run --rm --name $image_name $image_name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5025 次 |
| 最近记录: |