在使用 docker 時,有時我們需要設(shè)置 docker 自動啟動,以便在系統(tǒng)啟動時 docker 也跟隨一起啟動。但有些情況下,docker 自動啟動會出現(xiàn)失敗的情況。接下來,本文將會介紹如何解決 docker 自動啟動故障的問題。
- 查看 Docker 狀態(tài)
首先我們需要檢查 Docker 的啟動狀態(tài),使用以下命令:
$ sudo systemctl status docker
如果 Docker 服務(wù)已經(jīng)在運行:
docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2021-06-23 16:23:15 CST; 7min ago Docs: https://docs.docker.com Main PID: 2915 (dockerd) Tasks: 20 ...
如果 Docker 未運行:
docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: https://docs.docker.com
如果 Docker 未運行,請使用以下命令啟動 Docker 服務(wù):
$ sudo systemctl start docker
- 查看 Docker 自啟動狀態(tài)
然后我們需要檢查 Docker 的自啟動狀態(tài),使用以下命令:
$ sudo systemctl is-enabled docker
如果輸出結(jié)果為 enabled ,則表明 Docker 已經(jīng)設(shè)置成自啟動;如果輸出結(jié)果是 disabled ,則需要設(shè)置 Docker 自啟動,使用以下命令:
$ sudo systemctl enable docker
- 查看 Docker 啟動日志
如果前面的步驟沒有解決 Docker 自啟動故障的問題,我們可以查看 Docker 啟動日志,找出故障原因。使用以下命令可以查看 Docker 啟動日志:
$ sudo journalctl -u docker.service
通過查看日志,可以找到具體的錯誤信息,其中一些常見的錯誤信息有:
- Failed to start Docker Application Container Engine.:Docker 啟動失敗,可能是 systemd 控制器無法與 Docker 通信,或者 Docker 子進程啟動失敗等,需要進一步排查問題。
- Error starting daemon: error initializing graphdriver: …:Docker 啟動失敗,可能是因為可寫性被禁用、磁盤空間不足、驅(qū)動程序版本不兼容等問題。
- time=”2021-06-23T16:23:14Z” level=fatal msg=”Your Linux kernel version 3.2.0-112-generic is not supported for running docker. Please upgrade your kernel to 3.10.0 or newer.”:Docker 啟動失敗,可能是因為 Linux 內(nèi)核版本太低,需要升級至 3.10.0 或更高版本。
根據(jù)錯誤信息排除問題后,嘗試重新啟動 Docker 服務(wù),直到成功為止。
總結(jié)
本文介紹了 Docker 自動啟動故障的問題及其解決方法??偟膩碚f,通過檢查 Docker 狀態(tài)、設(shè)置 Docker 自啟動,以及查看 Docker 啟動日志,我們可以排除大多數(shù)故障原因,保證 Docker 正常啟動。當(dāng)然,如果以上方法都無法解決 Docker 自啟動故障,建議查看 Docker 官方文檔,或者在社區(qū)尋求幫助。