Docker容器開機自動啓動(在宿主機重啓後或者Docker服務重啓後)

一、環境介紹
系統版本:CentOS6.7 X64
內核版本:2.6.32-573.18.1.el6.x86_64


二、測試過程
使用在Docker run的時候使用--restart參數來設置。

no - container:不重啓
on-failure - container:退出狀態非0時重啓
always:始終重啓

[root@docker ~]# docker run -i -t -d --name centos_aways --restart=always centos
e278cabec91e36f5582d92ba3ddb95ac17a0c2c59d8cdcc60791a28075e8abce
[root@docker ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
e278cabec91e        centos              "/bin/bash"         5 seconds ago       Up 4 seconds   
[root@docker ~]# init 6
[root@docker ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
e278cabec91e        centos              "/bin/bash"         3 minutes ago       Up About a minute

Docker服務重啓後,查看添加了“--restart=always”參數的容器能否自動啓動
[root@docker ~]# /etc/init.d/docker stop
Stopping docker:                                           [  OK  ]
[root@docker ~]# /etc/init.d/docker start
Starting docker:	                                   [  OK  ]
[root@docker ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
14caa9ab03a9        dockerui/dockerui   "/dockerui"         11 minutes ago      Up 3 seconds        0.0.0.0:9000->9000/tcp   dockerui_qinwen     
e278cabec91e        centos              "/bin/bash"         About an hour ago   Up 3 seconds                                 centos_aways

 

三、注意事項:
1.用docker自帶的--link把多個容器鏈接在一起,有重啓或升級的問題,比如很多容器都依賴於 db 這個容器,然後db容器重啓了,重啓時docker分配的ip會變,導致其他依賴於db的容器都要重啓。

2.--link 鏈接的容器還有啓動順序的問題, 需要先啓動db容器再啓動其他依賴於db的容器, 這樣導致 --link和--restart=always 不能一起用, 如果一起用會發現宿主機重啓了, docker容器並沒有全部重啓,
3.因爲這時候docker容器是同時被啓動的,並不知道啓動順序。 最後決定不用 --link 鏈接容器了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章