gpt4 book ai didi

linux - docker 容器在运行后立即退出 [mosquittobrokencontainer]

转载 作者:太空宇宙 更新时间:2023-11-04 04:52:00 26 4
gpt4 key购买 nike

你好,我在 docker 方面遇到了问题,最近我制作了 dockerfile 来创建“mosquitto-mqtt”的图像,以制作我自己的带有 ssl 保护的损坏的 mqtt。我构建 dockerfile 一切都很好,我没有问题,但如果我使用“docker run -itd --namebroken ce69ee4b2f4e”运行一个新容器,容器会自动运行并退出,并且如果检查日志一切都很好“[好的。]启动网络守护进程::mosquitto.”。我不知道为什么?检查我的 dockerfile。我需要帮助来解决这个问题,谢谢

#Download base image debian
FROM debian:latest

#Update system
RUN apt-get update -y

#Install Wget and gnup2
RUN apt-get install wget -y && apt-get install gnupg2 -y

#Download and add key
RUN wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
RUN apt-key add mosquitto-repo.gpg.key
RUN rm mosquitto-repo.gpg.key

## append apt mirror for debian
RUN echo "# mirror" >> /etc/apt/source.list
RUN echo "deb http://repo.mosquitto.org/debian stretch main" >> /etc/apt/source.list

#Update and upgrade system
RUN apt-get update -y && apt-get upgrade -y

#install mosquitto
RUN apt-get install mosquitto -y

#Copy file configuration
COPY mosquitto.conf /etc/mosquitto

#Copy certificate folder
COPY certs/mosquitto-ca.crt /etc/mosquitto/certs
COPY certs/mosquitto-server.crt /etc/mosquitto/certs
COPY certs/mosquitto-server.key /etc/mosquitto/certs

#Run command
ENTRYPOINT ["/etc/init.d/mosquitto", "start"]

日志打印

[ ok .] Starting network daemon:: mosquitto.

docker ps -a

CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                     PORTS               NAMES
d00bd23ae2d6 ce69ee4b2f4e "/etc/init.d/mosquit…" 9 minutes ago Exited (0) 9 minutes ago broken

最佳答案

容器是进程的包装器,当该进程退出时,容器也退出。在这种情况下:

ENTRYPOINT ["/etc/init.d/mosquitto", "start"]

该进程是/etc/init.d/mosquitto,它几乎肯定会运行,在后台生成一个守护进程,然后退出(init.d 中任何内容的标准)。如果可用的话,您应该直接使用前台选项运行蚊子。

如果可能的话,像supervisord 这样的东西将不是最佳的后备方案,能够监视后台守护进程。

如果这些都不起作用,您可以从以 tail -f/dev/null 结尾的脚本运行命令,但这将是最糟糕的选择,因为您会忽略任何错误。

关于linux - docker 容器在运行后立即退出 [mosquittobrokencontainer],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55538109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com