我在Ubuntu(14)上与码头工人(17)挣扎。我必须使用docker技术在几台机器上运行rabbitMQ。我设法使用
在其中一个上做到了sudo docker service create -d --hostname my-rabbit --name some-rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password rabbitmq:3-management
但我遇到了其他人的问题。当我将Rabbit作为docker服务运行时一切正常,但重启机器后问题就开始了。服务器重启后,docker会自动启动 - 运行
sudo docker service list
sudo docker ps
检查一下。但是当我想使用浏览器连接到rabbitServer时没有任何反应。当我在servier中使用curl或wget时,它等待响应,没有任何反应。我跑的时候
sudo service docker restart
然后一切都开始像它应该的那样工作。端口一直打开,信息保存,所以重新启动后我不必重新打开它们。其中一台机器没有这个问题,重启后一切正常
答案 0 :(得分:4)
我相信这是因为您的docker守护程序和/或容器在重新启动计算机时无法启动。要实现这一目标,您应该采取以下措施:
sudo systemctl enable docker
这应该在重新启动主机后启动Docker守护程序。那么你要做的就是当你运行服务时要传递
--restart-condition:any
在这种情况下,应该启动容器以防系统出现故障或重新启动。
答案 1 :(得分:-1)
这很奇怪,我仍然不知道为什么会这样。在我重新启动机器之后,我又重新启动了docker服务,之后我再次保存了ipconfig持久配置而没有添加任何规则 - 它开始在所有机器上工作