Docker容器的重啟策略


1. Docker容器的重啟策略

Docker容器的重啟策略是面向生產環境的一個啟動策略,在開發過程中可以忽略該策略。

Docker容器的重啟都是由Docker守護進程完成的,因此與守護進程息息相關。

Docker容器的重啟策略如下:

    no,默認策略,在容器退出時不重啟容器
    on-failure,在容器非正常退出時(退出狀態非0),才會重啟容器
    on-failure:3,在容器非正常退出時重啟容器,最多重啟3次
    always,在容器退出時總是重啟容器
    unless-stopped,在容器退出時總是重啟容器,但是不考慮在Docker守護進程啟動時就已經停止了的容器

2. Docker容器的退出狀態碼

docker run的退出狀態碼如下:

    0,表示正常退出
    非0,表示異常退出(退出狀態碼采用chroot標准)
    125,Docker守護進程本身的錯誤
    126,容器啟動后,要執行的默認命令無法調用
    127,容器啟動后,要執行的默認命令不存在
    其他命令狀態碼,容器啟動后正常執行命令,退出命令時該命令的返回狀態碼作為容器的退出狀態碼

3. docker run的--restart選項

通過--restart選項,可以設置容器的重啟策略,以決定在容器退出時Docker守護進程是否重啟剛剛退出的容器。

--restart選項通常只用於detached模式的容器。

--restart選項不能與--rm選項同時使用。顯然,--restart選項適用於detached模式的容器,而--rm選項適用於foreground模式的容器。

在docker ps查看容器時,對於使用了--restart選項的容器,其可能的狀態只有Up或Restarting兩種狀態。

示例:
docker run -d --restart=always ba-208
docker run -d --restart=on-failure:10 ba-208
 

補充:

查看容器重啟次數
docker inspect -f "{{ .RestartCount }}" ba-208
查看容器最后一次的啟動時間
docker inspect -f "{{ .State.StartedAt }}" ba-208

 

參考鏈接:

https://docs.docker.com/engine/reference/run/
————————————————
版權聲明:本文為CSDN博主「易生一世」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/taiyangdao/article/details/73076019


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM