重新启动后,服务沉重的Docker容器死亡,如何找到原因?

时间:2020-09-08 10:03:44

标签: docker logging memory wildfly

Dockerfile具有已配置的CMD启动命令(无ENTRYPOINT):

ARG wildfly_version

FROM jboss/wildfly:$wildfly_version

...

CMD ["/bin/bash", "/opt/jboss/init.sh"]

init.sh脚本启动WildFly,检查tmp文件夹是否存在,如果存在,则部署大量应用程序,然后删除tmp文件夹并运行命令以使容器可运行:

/opt/jboss/wildfly/bin/standalone.sh \
    -c standalone-full.xml \
    -b 0.0.0.0 & sleep 30 && \

# this folder does not exist, when container is restarted
[ -d "/opt/jboss/tmp" ] && /opt/jboss/deploy.sh && \

# remove /tmp to also mark a deployment has been finished successfully
rm -rf /opt/jboss/tmp && \

# keep the container running in detached mode, run in the foreground:
tail -f /dev/null

使用tmp文件夹的解决方法可以避免在容器重新启动后逐步部署先前部署的软件包。

第一次启动后,容器工作稳定,并显示以下MEM和CPU使用情况:

CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
8f6269f5b650        bm_wf               9.53%               5.345GiB / 15.52GiB   34.44%              11.5MB / 6.34MB     1.11GB / 1.51GB     1249

但是,在容器重启后,我可以看到内存如何从大约100Mb增加到4-5Gb,然后消失。通过docker logs命令,我只能看到Wildfly日志,并且每次重新启动尝试都仅显示消息,说明如何部署应用程序。每次都有不同的消息。没有系统错误,只有Wildfly的信息。在此基础上,我得出了一个结论,即问题的原因与Wilfly本身无关。

docker events显示:

020-09-08T11:41:27.243803353+02:00 network connect 7467b7c9524a0f0abfee9d2aaddb65c39fde9faddaa205e9662d9bff533dacda (container=8f6269f5b650f3667bbacad4baaa11942e87bb97d8c85117ddefa8b0d1b1c17f, name=bridge, type=bridge)
2020-09-08T11:41:27.327371724+02:00 network connect 4484c2b8bfcc37e1a278aae3fae86a32597eb99f9ef1f29f85568ac1a3ab1df6 (container=8f6269f5b650f3667bbacad4baaa11942e87bb97d8c85117ddefa8b0d1b1c17f, name=bm_network, type=bridge)
2020-09-08T11:41:27.836003355+02:00 container start 8f6269f5b650f3667bbacad4baaa11942e87bb97d8c85117ddefa8b0d1b1c17f (image=bm_wf:10.1.0.Final, name=bm_wf, org.label-schema.build-date=20181205, org.label-schema.license=GPLv2, org.label-schema.name=CentOS Base Image, org.label-schema.schema-version=1.0, org.label-schema.vendor=CentOS)
2020-09-08T11:41:58.064390117+02:00 container die 8f6269f5b650f3667bbacad4baaa11942e87bb97d8c85117ddefa8b0d1b1c17f (exitCode=1, image=bm_wf:10.1.0.Final, name=bm_wf, org.label-schema.build-date=20181205, org.label-schema.license=GPLv2, org.label-schema.name=CentOS Base Image, org.label-schema.schema-version=1.0, org.label-schema.vendor=CentOS)
2020-09-08T11:41:58.622899034+02:00 network disconnect 7467b7c9524a0f0abfee9d2aaddb65c39fde9faddaa205e9662d9bff533dacda (container=8f6269f5b650f3667bbacad4baaa11942e87bb97d8c85117ddefa8b0d1b1c17f, name=bridge, type=bridge)
2020-09-08T11:41:58.622970586+02:00 network disconnect 4484c2b8bfcc37e1a278aae3fae86a32597eb99f9ef1f29f85568ac1a3ab1df6 (container=8f6269f5b650f3667bbacad4baaa11942e87bb97d8c85117ddefa8b0d1b1c17f, name=bm_network, type=bridge)

我还可以研究什么才能重启容器并使用它?

0 个答案:

没有答案