一、環境介紹
系統版本: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 鏈接容器了。