Docker 是目前最受歡迎的容器化軟體之一,它可以幫助開發者更方便地建立和運行應用程式。但有時候,你可能會遇到一個問題:當你啟動了電腦後,Docker 就不會自動啟動了。如果你希望 Docker 能夠自動啟動,接下來就讓我們來看看如何進行設定。
在進行設定之前,首先需要確認你的 Docker 是否已經安裝了 systemd 和 daemon.json 檔案。這兩個檔案都是必須的,因為它們將幫助 Docker 在開機時自動啟動。
如果你的系統上沒有安裝它們,可以使用以下命令來進行安裝:
sudo apt-get update sudo apt-get install systemd
在啟用Docker的系統上,你需要編輯/etc/docker/daemon.json 檔案。如果該檔案不存在,則可以使用以下命令來建立它:
sudo nano /etc/docker/daemon.json
然後,將以下程式碼新增至檔案:
{ "default-address-pools": [ {"base":"172.0.0.0/8","size":16}, {"base":"192.168.0.0/16","size":24} ], "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }
這個程式碼片段包含了一些 Docker 設定資訊。其中也包含了一個預設的位址池,該池將用於為 Docker 容器指派 IP 位址。你可以根據需要進行修改。
接下來,你需要建立一個名為docker.service 的systemd 文件,並將其新增到/etc/systemd/system/ 目錄中。
使用以下指令建立新檔案:
sudo nano /etc/systemd/system/docker.service
新增以下程式碼到檔案中:
[Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target sshd.service Wants=network-online.target [Service] Type=notify ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ExecReload=/bin/kill -s HUP $MAINPID EnvironmentFile=-/run/flannel/docker Restart=always RestartSec=3 LimitNOFILE=1048576 LimitNPROC=infinity LimitCORE=infinity [Install] WantedBy=multi-user.target
這個檔案會告訴systemd 如何啟動Docker,並且設定一些選項,如下:
在將systemd 檔案新增至/etc/systemd/system/ 目錄後,您需要重新載入systemd 程序以使配置生效。你可以使用以下指令來重新載入 systemd。
sudo systemctl daemon-reload
下一步是啟用 Docker 服務自動啟動。你可以使用以下指令啟用 systemd。
sudo systemctl enable docker.service
這個指令將會在開機時自動啟動 Docker。
最後
現在,你已經學會如何在系統啟動時自動啟動 Docker 服務。如果你遇到其他的 Docker 問題,你可以參考 Docker 官方文件或在社群中尋求協助。
以上是Docker不開機自動啟動的詳細內容。更多資訊請關注PHP中文網其他相關文章!