在Dockerfile中,我将多个命令链接到一个RUN中,这是常见的做法:
Dockerfile
RUN
RUN cmd1 && cmd2 && cmd3 && ...
字符串当调用docker build时,它会打印整行cmd1 && cmd2 && ...,然后执行它。当一切正常时,这很好;但是,当出现错误消息时,有时不清楚是哪个命令打印的。有没有一种方法可以在不同的命令执行时打印出来,这样错误的来源就变得明显了?我正在寻找Linux和Windows容器的解决方案。
docker build
cmd1 && cmd2 && ...
dz6r00yl1#
你可以这样做:
FROM debian SHELL ["/bin/bash", "-c"] RUN echoRun(){ echo "$@"; "$@"; } &&\ echoRun date &&\ echoRun sleep 2 &&\ echoRun false &&\ echoRun date
字符串然后用以下方式构建:
DOCKER_BUILDKIT=0 docker build -t test .
型我不太确定Windows容器。
1条答案
按热度按时间dz6r00yl1#
你可以这样做:
字符串
然后用以下方式构建:
型
我不太确定Windows容器。