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

bash – Docker运行和变量替换

发布时间:2020-12-15 22:39:06 所属栏目:安全 来源:网络整理
导读:我在一个名为image_name的脚本中有一个变量 image_name="my-app" 我试图将此变量传递给docker容器,如下所示: docker build -t $image_name .docker run --rm --name $image_name -e "app_dir=${image_name}" $image_name 但是这个变量没有设置,并且在docker
我在一个名为image_name的脚本中有一个变量

image_name="my-app"

我试图将此变量传递给docker容器,如下所示:

docker build -t $image_name .
docker run --rm --name $image_name -e "app_dir=${image_name}" $image_name

但是这个变量没有设置,并且在docker构建的上下文中是空白的

这是以下Dockerfile的片段:

....

RUN     echo dir is $app_dir

....

这是以下构建输出的片段:

....

Step 2 : RUN echo dir is $app_dir
---> Running in db93a939d701
dir is
---> c9f5e2a657d5
Removing intermediate container db93a939d701

....

任何人都知道如何进行变量替换?

解决方法

请注意,您正在使用Dockerfile中的变量.该变量将在构建时(docker build)进行评估,因此您需要在此时传递其值.这可以通过–build-arg param来实现.

改变你的例子,它将是:

docker build --build-arg app_dir=${image_name} -t $image_name .
docker run --rm --name $image_name $image_name

(编辑:李大同)

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

    推荐文章
      热点阅读