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.JdbcOdbc...