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

5
我有一个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

我想要这样的输出:
Starting container build
Copying files...
Copy complete. Directory contents:
file1.ts
file2.ts
file3.ts
...

然而,Docker添加了这些“步骤x / x:”和“正在运行中的314159265359”消息,使输出混乱。 实际输出:
Step 1/7 : FROM node:Alpine
 ---> 314159265359
Step 2/7 : RUN echo 'Starting container build'
 ---> Running in 314159265359
Starting container build
Removing intermediate container 314159265359
 ---> 314159265359
Step 3/7 : RUN echo 'Copying files...'
 ---> Running in 314159265359
Copying files...
Removing intermediate container 314159265359
 ---> 725d85e0131c
Step 4/7 : WORKDIR /that
 ---> Running in 314159265359
Removing intermediate container 314159265359
 ---> 314159265359
Step 5/7 : COPY ./this /that
 ---> 314159265359
Step 6/7 : RUN echo 'Copy complete. Directory contents:'
 ---> Running in 314159265359
Copy complete. Directory contents:
Removing intermediate container 314159265359
 ---> 314159265359
Step 7/7 : RUN ls
 ---> Running in 314159265359
file1.ts
file2.ts
file3.ts
...

有什么想法可以实现自定义输出吗?这不是什么大问题,但虚荣心很重要 :-)
*我知道有选项可以简单地隐藏所有输出,但我只想隐藏内置的消息。
**此外,我正在使用docker-compose,如果那里有一些神奇的选项,也请告诉我。

我也在寻找同样的东西。你有找到什么吗? - Nishant Kansal
1个回答

2
你有什么想法可以实现自定义输出?
你可以对任何命令输出进行后处理。
docker build ... | sed '/^Step/d; /^Running/d'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接