2017-09-16 160 views
1

我在Ubuntu(14)上與dockers(17)一起苦苦掙扎。我必須在使用docker技術的幾臺機器上運行rabbitMQ。我設法用服務器重啓後啓動Docker服務

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開始自動運行 - 我運行

sudo docker service list 
sudo docker ps 

檢查。但是當我想用瀏覽器連接到rabbitServer時,什麼都不會發生。當我在服務器中使用curl或wget時,它會等待響應並且沒有任何反應。當我跑

sudo service docker restart 

然後一切都開始像它應該的工作。端口始終打開,並且信息被保存,所以重新啓動後我不必重新打開它們。其中一臺機器沒有這個問題,即使重新啓動後一切仍然正常

回答

0

它很奇怪,我仍然不知道爲什麼這個工程。機器重新啓動後,我restertad碼頭服務,以及之後,我再次保存ipconfig持久性配置沒有添加任何規則,它開始在所有機器上工作

3

我認爲這是因爲您重新啓動計算機時,您的docker守護進程和/或容器未啓動。爲了實現這一點,你應該做一些如下操作:

sudo systemctl enable docker 

這應該在重啓主機後啓動Docker守護進程。當你運行該服務是通過

--restart-condition:any 

應在案件或系統故障或重新啓動在這種情況下開始新的容器那麼你將不得不做的是。

+0

重新啓動後,當我運行** sudo docker服務列表**兔子服務器在結果中,當我運行** sudo docker ps **時,兔子也在那裏。這是不是意味着deamon在服務器重啓後運行? – TajnosAgentos

+0

@TajnosAgentos我相信如果重啓後,一旦你運行這些命令,那麼是的,碼頭守護進程已成功開始,以及兔子容器。 – Sergiu