是否有可能暂停Docker镜像构build?

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

但是,如果图像不断build立,则消息难以检索,因为terminal一直在向下滚动,并且在某个时刻它太高而无法读取。

是否有可能暂停一个Docker镜像或检索这些错误信息,而不是输出到一个文件(这可能会丢失terminal的颜色)?

是否有可能暂停Docker镜像

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


您可以试试Scroll Lock键,但取决于您的terminal可能会失败。


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

 docker build -t test . | less -R 

一旦build成,你可以使用箭头键上下,使用/searchtesting等 。

-R是保持颜色

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

你也可以把输出logging到一个文件中(我知道你明确表示你不需要这个解决scheme,但是可以适合其他的)

 docker build -t test . | tee build.log 

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

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

 docker build $(pwd) 2>> error 

将传输任何错误,阻止它将图像构build成错误文件。

在文件的cat ,错误的颜色代码仍然存在。 通常我的目标是使用这些错误,以build立一个可以从这些错误构build自己的docker图像。

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

我得到这些解决scheme不是你在找什么,但它是我目前唯一的方式,以便做你想做的事情。