【问题标题】:Suppress or hide Docker "Steps" and default output in the console在控制台中抑制或隐藏 Docker “步骤”和默认输出
【发布时间】:2020-12-12 01:09:25
【问题描述】:

我有一个 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 添加了这些“Step x/x :”和“Running in 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,以防那里还有一些神奇的选项

【问题讨论】:

  • 我也在寻找相同的。你有什么收获吗?

标签: bash docker terminal docker-compose


【解决方案1】:

关于如何实现自定义输出的任何想法?

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

docker build ... | sed '/^Step/d; /^Running/d'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多