前幾天經過docker命令,建立了一個docker容器,運行正常,可是每次重啓Centos Linux系統,docker容器就會變成中止狀態,linux
每次系統啓動後,須要手動啓動的docker容器,命令:docker
docker start 容器ID號centos
實現Docker容器開機自動啓動實際很是簡單,由於Docker提供了restart policy機制,能夠在容器退出或者Docker重啓時控制容器可以自啓動。這種Restart policy能夠保證相關容器按照正確順序啓動。固然也能夠經過進程監控的方式(如systemd)來完成這種動做,但Docker建議儘可能避免使用進程監控的方式來 "自啓動" 容器。tcp
實現方法:ide
1、在咱們建立容器時經過使用—restart參數來實現,測試
docker run --name adguardhome -v /AdguardHome:/opt/adguardhome/work -v /AdguardHome:/opt/adguardhome/conf -p 53:53/tcp -p 53:53/udp -p 67:67/udp -p 68:68/tcp -p 68:68/udp -p 80:80/tcp -p 443:443/tcp -p 853:853/tcp -p 3000:3000/tcp --restart=always -d adguard/adguardhomespa
--restart具體參數值詳細信息以下:rest
no - 容器退出時,不重啓容器;blog
on-failure - 只有在非0狀態退出時才重新啓動容器;進程
always - 不管退出狀態是如何,都重啓容器;
2、在容器建立後經過update命令實現容器的開機自啓動
若是建立時未指定--restart=always ,可經過update 命令設置:
docker update --restart=always 容器名稱(或者容器ID)
這樣就實現了開機容器自啓動。
實際測試,centos linux系統中執行root命令後,進入系統,經過docker ps –a命令查看,docker容器,正常運行。