无法启动mosquitto作为docker容器上的服务

时间:2016-07-05 06:41:42

标签: docker dockerfile mosquitto docker-image

我从Dockerfile创建了一个图像:

FROM debian:latest

RUN apt-get update && apt-get install -y \
mosquitto \
&& rm -rf /var/lib/apt/lists/*

# mosquitto setup
EXPOSE 1883
COPY config/broker/conf.d/ /etc/mosquitto/conf.d/
CMD mosquitto

这有效,但我想开始使用mosquitto作为服务(它是否被推荐?)。但是当我用

替换最后一行时
CMD service mosquitto start

服务无法启动&我的容器没有运行(但在创建图像时我没有收到错误消息)

2 个答案:

答案 0 :(得分:0)

  

服务无法启动&我的容器没有运行

检查docker ps -a以查看容器是否刚刚退出:要使容器运行,您需要确保其主进程保持在前台并且不会立即退出。

尝试使用泊坞窗图像toke/docker-mosquitto来查看从中运行的容器是否仍然存在。

答案 1 :(得分:0)

使用容器作为启动主机服务的方式在我看来似乎忽略了容器的重点。已经集装箱化的应用程序"应该可以随时启动/停止它们。如果您希望拥有一个长期运行的容器来提供您希望始终运行的服务,请将--restart=always选项添加到docker run命令中。这样,当主机启动/重新启动,并且Docker服务启动时,您的容器也将自动启动。一个很好的名单& amp;关于容器化应用程序的问题是The 12 Factor App