来自我的 Dockerfile
的片段:
FROM node:12.18.0
RUN echo "hello world"
RUN psql --version
当我运行 docker build .
我看不到这两个命令的任何输出,即使它们没有被缓存。文档说 docker build
默认情况下是冗长的。为什么我看不到命令的输出?我以前见过他们。
构建时的输出:
=> [7/18] RUN echo "hello world" 0.9s
构建完成后我看到的输出:
=> CACHED [6/18] RUN apt-get install postgresql -y 0.0s
=> [7/18] RUN echo "hello world" 6.4s
=> [8/18] RUN psql --version 17.1s
Dockerfile
是从基于 Debian 9 的 node:12.18.0 创建的。
Docker 版本 19.03.13,构建 4484c46d9d。
原文由 Noname 发布,翻译遵循 CC BY-SA 4.0 许可协议
您显示的输出来自 buildkit,它是 docker 附带的经典构建引擎的替代品。您可以使用
--progress
选项调整输出:添加
--progress=plain
将显示未从缓存加载的运行命令的输出。这也可以通过设置BUILDKIT_PROGRESS
变量来完成:如果您正在调试构建,并且步骤已被缓存,请将
--no-cache
添加到构建以重新运行步骤并重新显示输出:如果您不想使用 buildkit,您可以通过在 shell 中导出
DOCKER_BUILDKIT=0
来恢复到旧的构建引擎,例如:或者