微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

docker BuildKit 不打印 ENV

如何解决docker BuildKit 不打印 ENV

我正在尝试使用新的 docker 工具包来构建映像,因为我们需要 2 我的 docker 文件的不同变量集如下所示:

ASPNETCORE_ENVIRONMENT=DEVELOP

在詹金斯被称为:

FROM python:3.7 as base
RUN apt-get update -y

FROM base as basic_build
workdir /app
copY ./path/to/requirements.txt requirements.txt
RUN pip install -r requirements.txt
ENV DEPLOY_TYPE=local
RUN ls -lrth

FROM basic_build as testing_build
# for testing
ENV A_VARIBLE_TEST=some_string
copY ./some/files/ /app/
EXPOSE 5000
CMD ["python","-m","flask","run"]


FROM basic_build as normal_build
ENV my_docker_test_var=see_if_prints_in_log
EXPOSE 5000
CMD ["python","run"]

但是日志没有显示设置了 ENV 的行

我们可以看到运行 pip 安装,copY 但不是 ENV:

sh "DOCKER_BUILDKIT=1 docker build --file ${docker_file_path} --target testing_build --no-cache ${WORKSPACE}"

但不是当我设置 ENV 时... 如果我运行 --progress=plain 我仍然没有看到 ENV... 就像我做旧的普通 docker build(没有 buildkit)

#28 [basic_build 22/24] RUN ls -lrth
#28 sha256
#28 0.351 total 20K
#28 0.351 -rw-r--r--. 1 root root 5.0K Jul 14 16:04 file1.py
#28 0.351 -rw-r--r--. 1 root root   30 Jul 14 16:04 file2.py
...
#28 DONE 0.4s

#29 [basic_build 23/24] RUN mkdir /app/temp
#29 sha256:e1edb01f6c54b011bed2a1695a982985f6a418668509602436e17c0528dc17ba
#29 DONE 0.4s

#31 [testing_build 1/5] copY ./some/path/ /app/
# sha256

例如:

--progress=plain

我错过了什么?或者 ENV 不再显示?或者他们没有被设置? 期望在一行中看到如下内容

sh "DOCKER_BUILDKIT=1 docker build --file ${docker_file_path} --target testing_build --no-cache ${WORKSPACE} --progress=plain"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?