是否可以暂停Docker镜像构建?

时间:2015-07-11 20:20:01

标签: docker dockerfile

构建图像时,我有时会收到警告或非致命错误。例如,如果我在Docker镜像中编译某个程序,但缺少某个可选库,则会打印一条警告。

但是如果图像不断构建,则消息难以检索,因为终端会继续向下滚动,在某些时候,它太高而无法读取。

是否可以暂停Docker镜像或以其他方式检索这些错误消息,而不是输出到文件(可能会丢失终端的颜色)?

2 个答案:

答案 0 :(得分:3)

  

是否可以暂停Docker镜像

不,你不能暂停docker build命令。

你可以试试 Scroll Lock 键,但取决于你的终端可能会失败。

您可以将docker build命令的结果传递给less -R

docker build -t test . | less -R

构建完成后,您可以使用箭头键上下移动,使用/搜索测试etc

-R是保持颜色

-r  -R  ....  --raw-control-chars  --RAW-CONTROL-
                Output "raw" control characters.

此外,您可以将输出录制到文件(我知道您明确表示您不想要此解决方案,但它可以适合其他人)

docker build -t test . | tee build.log

答案 1 :(得分:0)

虽然我明白你宁愿不喜欢将退出代码传输到文​​件中,但我可以向你保证着色不会丢失。

我用来传递错误的简单代码,例如信息和致命错误

docker build $(pwd) 2>> error

将传输任何阻止其将图像构建为错误文件的错误。

cat文件后,错误的颜色代码仍然存在。 Typically my aim for this is to use these errors in order to build a docker image that can build itself from these errors.

我知道如果你想暂停一个docker build,你可以说使用^c(control c)取消它,这将终止窗口中的活动进程。当然,你无法取消它。

我觉得这些解决方案不是你想要的,但它是我目前所知道的唯一方式,以便做你想做的事。