Docker构建挂起。我怎么看发生了什么事? [英] Docker build hangs. How can I see what is going on?
问题描述
此Dockerfile在下载完成后挂起:
从Ubuntu:18.04
MAINTAINER Dean Schulze
ENV JS_CE_VERSION 7.1.0
ENV JS_CE_HOME / opt / jasperreports-server-cp-$ {JS_CE_VERSION}
ENV路径$ PATH:$ {JS_CE_HOME}
运行apt-get update&& apt-get install -y wget \
&& wget --progress = bar:force:noscroll -O TIB_js-jrs-cp _ $ {JS_CE_VERSION} _linux_x86_64.run https://sourceforge.net/projects/jasperserver/files/JasperServer/JasperReports%20Server%20Community%20Edition%20$ {JS_CE_VERSION} / TIB_js-jrs-cp _ $ {JS_CE_VERSION} _linux_x86_64.run \
& chmod a + x TIB_js-jrs-cp _ $ {JS_CE_VERSION} _linux_x86_64.run \
&& /TIB_js-jrs-cp_${JS_CE_VERSION}_linux_x86_64.run-无人值守模式--jasperLicense接受的是--postgres_password Postgres1-前缀$ {JS_CE_HOME} \
&& rm TIB_js-jrs-cp _ $ {JS_CE_VERSION} _linux_x86_64.run \
&& rm -rf $ {JS_CE_HOME} / apache-ant $ {JS_CE_HOME} / buildomatic \
$ {JS_CE_HOME} / docs $ {JS_CE_HOME} / samples $ {JS_CE_HOME} / scripts \
&& ;易于清洁
EXPOS 8080
CMD ctlscript.sh start&& tail -f / dev / null
输出的最后几行是
解析superb-dca2.dl.sourceforge.net(superb-dca2.dl.sourceforge.net)... 209.61.193.20
连接到superb-dca2.dl.sourceforge.net(superb-dca2.dl.sourceforge.net)| 209.61.193.20 |:443 ...已连接。
HTTP请求已发送,正在等待响应... 200 OK
长度:343517555(328M)[application / x-makeself]
保存到:'TIB_js-jrs-cp_7.1.0_linux_x86_64.run '
TIB_js-jrs-cp_7.1.0 100%[====================] 327.60M 1.60MB / s在3m 52s
2018-07-28 03:15:28(1.41 MB / s)-'TIB_js-jrs-cp_7.1.0_linux_x86_64.run'已保存[343517555/343517555]
如何诊断像这样挂起的Docker构建?
编辑
以下是请求的输出:
$ docker image history d5d47e51eafc
通过大小注释创建的图像
d5d47e51eafc 23分钟前/ bin / sh -c#(nop)ENV PATH = / usr / local / sbin:…0B
831a3a551fa7 23分钟前/ bin / sh -c#(nop)ENV JS_CE_HOME = / opt / jaspe…0B
e8361426e492 23分钟前/ bin / sh -c#(nop)ENV JS_CE_VERSION = 6.3.0 0B
7af364f52b1b 23分钟前/ bin / sh -c#(nop)MAINTAINER JS Minet 0B
735f80812f90 30小时前/ bin / sh -c#(nop)CMD [ / bin / bash] 0B
< missing> 30小时前/ bin / sh -c mkdir -p / run / systemd&& echo'do…7B
< missing> 30小时前/ bin / sh -c sed -i s / ^#\s * \(deb。* universe\)$…2.76kB
< missing> 30小时前/ bin / sh -c rm -rf / var / lib / apt / lists / * 0B
< missing> 30小时前/ bin / sh -c设置-xe&回声#!/ bin / sh> /…745B
< missing> 30小时前/ bin / sh -c#(nop)添加文件:4bb62bb0587406855…83.5MB
它看起来这些行是相反的,最后执行的是 ENV PATH
。下一行是 RUN
行,该行具有多个由&&
分隔的命令。
这是对DockerHub上的Dockerfile的修改。我更改了ubuntu版本和正在安装的应用程序的版本。
我应该提交错误报告吗?
我可以通过回滚到 ubuntu 16.04
来工作。 18.04
中必须进行一些更改,导致此Dockerfile失败,或者 ubuntu 18.04
映像省略了某些内容。 / p>
This Dockerfile hangs after the download has completed:
FROM ubuntu:18.04
MAINTAINER Dean Schulze
ENV JS_CE_VERSION 7.1.0
ENV JS_CE_HOME /opt/jasperreports-server-cp-${JS_CE_VERSION}
ENV PATH $PATH:${JS_CE_HOME}
RUN apt-get update && apt-get install -y wget \
&& wget --progress=bar:force:noscroll -O TIB_js-jrs-cp_${JS_CE_VERSION}_linux_x86_64.run https://sourceforge.net/projects/jasperserver/files/JasperServer/JasperReports%20Server%20Community%20Edition%20${JS_CE_VERSION}/TIB_js-jrs-cp_${JS_CE_VERSION}_linux_x86_64.run \
&& chmod a+x TIB_js-jrs-cp_${JS_CE_VERSION}_linux_x86_64.run \
&& /TIB_js-jrs-cp_${JS_CE_VERSION}_linux_x86_64.run --mode unattended --jasperLicenseAccepted yes --postgres_password Postgres1 --prefix ${JS_CE_HOME} \
&& rm TIB_js-jrs-cp_${JS_CE_VERSION}_linux_x86_64.run \
&& rm -rf ${JS_CE_HOME}/apache-ant ${JS_CE_HOME}/buildomatic \
${JS_CE_HOME}/docs ${JS_CE_HOME}/samples ${JS_CE_HOME}/scripts \
&& apt-get clean
EXPOSE 8080
CMD ctlscript.sh start && tail -f /dev/null
The last few lines of output are
Resolving superb-dca2.dl.sourceforge.net (superb-dca2.dl.sourceforge.net)... 209.61.193.20
Connecting to superb-dca2.dl.sourceforge.net (superb-dca2.dl.sourceforge.net)|209.61.193.20|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 343517555 (328M) [application/x-makeself]
Saving to: 'TIB_js-jrs-cp_7.1.0_linux_x86_64.run'
TIB_js-jrs-cp_7.1.0 100%[===================>] 327.60M 1.60MB/s in 3m 52s
2018-07-28 03:15:28 (1.41 MB/s) - 'TIB_js-jrs-cp_7.1.0_linux_x86_64.run' saved [343517555/343517555]
How do I diagnose a docker build that hangs like this?
Edit
Here's the requested output:
$ docker image history d5d47e51eafc
IMAGE CREATED CREATED BY SIZE COMMENT
d5d47e51eafc 23 minutes ago /bin/sh -c #(nop) ENV PATH=/usr/local/sbin:… 0B
831a3a551fa7 23 minutes ago /bin/sh -c #(nop) ENV JS_CE_HOME=/opt/jaspe… 0B
e8361426e492 23 minutes ago /bin/sh -c #(nop) ENV JS_CE_VERSION=6.3.0 0B
7af364f52b1b 23 minutes ago /bin/sh -c #(nop) MAINTAINER JS Minet 0B
735f80812f90 30 hours ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
<missing> 30 hours ago /bin/sh -c mkdir -p /run/systemd && echo 'do… 7B
<missing> 30 hours ago /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$… 2.76kB
<missing> 30 hours ago /bin/sh -c rm -rf /var/lib/apt/lists/* 0B
<missing> 30 hours ago /bin/sh -c set -xe && echo '#!/bin/sh' > /… 745B
<missing> 30 hours ago /bin/sh -c #(nop) ADD file:4bb62bb0587406855… 83.5MB
It looks like the lines are in reverse order and the last one executed is the ENV PATH
. The next line would be the RUN
line which has multiple commands separated by &&
.
This is a modification of a Dockerfile on DockerHub. I changed ubuntu versions and the version of the app being installed. That shouldn't have broken anything.
Should I file a bug report?
I got this to work by rolling back to ubuntu 16.04
. There must be some change in 18.04
that causes this Dockerfile to fail, or maybe the ubuntu 18.04
image omitted something.
这篇关于Docker构建挂起。我怎么看发生了什么事?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!