禁止或隐藏控制台中的 Docker“步骤”和默认输出

Jes*_*ams 5 bash terminal docker docker-compose

我有一个 Dockerfile,我想在其中自定义输出控制台。

简化示例:

FROM node:Alpine

RUN echo 'Starting container build'
RUN echo 'Copying files...'

WORKDIR /that
COPY ./this /that

RUN echo 'Copy complete. Directory contents:'
RUN ls
Run Code Online (Sandbox Code Playgroud)

我想要这样的输出:

Starting container build
Copying files...
Copy complete. Directory contents:
file1.ts
file2.ts
file3.ts
...
Run Code Online (Sandbox Code Playgroud)

然而,Docker 添加了这些“Step x/x :”和“Running in 314159265359”消息,给出了混乱的输出

实际输出:

Starting container build
Copying files...
Copy complete. Directory contents:
file1.ts
file2.ts
file3.ts
...
Run Code Online (Sandbox Code Playgroud)

关于如何实现自定义输出有什么想法吗?这不是一个大问题,但虚荣心很重要:-)

*我知道有一些选项可以简单地隐藏所有输出,但我只想隐藏内置消息。

** 此外,我正在使用docker-compose,以防万一还有一些神奇的选项

Kam*_*Cuk 2

关于如何实现自定义输出有什么想法吗?

您可以对任何命令输出进行后处理。

docker build ... | sed '/^Step/d; /^Running/d'
Run Code Online (Sandbox Code Playgroud)