Docker容器的自啟動

strivechao發表於2019-03-21

docker的自啟動

  • 透過sysv-rc-conf等管理
啟動指令碼# docker.service#!/bin/shsudo systemctl enable docker
sudo systemctl start docker

將指令碼放置在/etc/init.d/目錄下,修改成root執行許可權,然後輸入

sysv-rc-conf

在介面上設定啟動許可權。

如果是apt安裝的docker,啟動指令碼已經自動放置在/etc/init.d/目錄下了。

docker容器的自啟動

我們設定了docker自啟動後,docker可以管理各種容器了,對於容器我們也可以設定重啟的策略。

在容器退出或斷電開機後,docker可以透過在容器建立時的--restart引數來指定重啟策略;

# 多個引數值選擇no  不自動重啟容器. (預設值)on-failure  容器發生error而退出(容器退出狀態不為0)重啟容器,可以指定重啟的最大次數,如:on-failure:10unless-stopped  在容器已經stop掉或Docker stoped/restarted的時候才重啟容器
always  在容器已經stop掉或Docker stoped/restarted的時候才重啟容器,手動stop的不算
# 設定啟動策略docker run --restart always --name mynginx -d nginx
  • 如果容器已經被建立,我們想要修改容器的重啟策略
docker update --restart no mynginx

注意:

  • 容器只有在成功啟動後restart policy才能生效。這裡的"成功啟動"是指容器處於up至少10秒且已經處於docker監管。這是避免沒有成功啟動的容器陷入restart的死迴圈。

  • 如果手動stop一個容器,容器設定的restart policy將會被忽略,除非Docker守護程式重啟或者容器手動重啟;這是避免瞭如果重啟策略設定了always,如果不忽略policy那麼容器無法手動停止。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25469263/viewspace-2638963/,如需轉載,請註明出處,否則將追究法律責任。

相關文章