在 Arch Linux 上安裝 Docker
在 Arch Linux 上安裝 Docker 很簡單。它可以在 Extra 倉庫中找到,你可以簡單地 執(zhí)行 pacman 魔法:
sudo pacman -S docker
但要在 Arch Linux 上正確運行 Docker,還需要執(zhí)行更多步驟。
讓 Arch Docker 做好準備
這一切都歸結為以下步驟:
- 從 Arch 倉庫安裝 Docker
- 啟動 Docker 守護進程并在每次啟動時自動運行
- 將用戶添加到
docker
組以運行docker
命令而無需sudo
讓我們看看詳細步驟。
步驟 1:安裝 Docker 包
打開終端并使用以下命令:
sudo pacman -S docker
輸入密碼并在詢問時按 Y
。
這可能需要一些時間,具體取決于你使用的鏡像。
?? 如果你看到找不到包或 404 錯誤,那么你的同步數(shù)據(jù)庫可能是舊的。使用以下命令更新系統(tǒng)(它將下載大量軟件包并需要時間):
sudo pacman -Syu
步驟 2:啟動 docker 守護進程
Docker 已安裝但未運行。你應該在第一次運行 Docker 命令之前啟動 Docker 守護進程:
sudo systemctl start docker.service
我還建議啟用 Docker 服務,以便 Docker 守護進程在系統(tǒng)啟動時自動啟動。
sudo systemctl enable docker.service
這樣,你就可以開始運行 docker
命令了。你不再需要手動啟動 Docker 服務。
步驟 3:將用戶添加到 docker 組
Docker 已安裝并且 Docker 服務正在運行。你幾乎已準備好運行 docker
命令。
但是,默認情況下,你需要將 sudo
與 docker
命令一起使用。這很煩人。
為了避免在每個 docker
命令中使用 sudo
,你可以將自己(或任何其他用戶)添加到 docker
組,如下所示:
sudo usermod -aG docker $USER
你必須注銷(或關閉終端)并重新登錄才能使上述更改生效。如果你不想這樣做,請使用以下命令:
newgrp docker
現(xiàn)在已經(jīng)準備好了。我們來測試一下。
步驟 4:驗證 docker 安裝
Docker 本身提供了一個很小的 Docker 鏡像來測試 Docker 安裝。運行它并查看是否一切正常:
docker run hello-world
你應該看到類似這樣的輸出,表明 Docker 成功運行:
恭喜! 你已經(jīng)在 Arch Linux 上成功安裝了 Docker。
可選:安裝 Docker Compose
Docker Compose 已經(jīng)成為 Docker 不可或缺的一部分。它允許你管理多個容器應用。
較早的經(jīng)典 Compose 由 docker-compose
Python 軟件包提供。Docker 還將其移植到 Go 中,并通過 docker compose
提供,但該軟件包附帶 Docker Desktop。
在這個階段,我建議使用經(jīng)典的 docker-compose
插件并使用以下命令安裝它:
sudo pacman -S docker-compose
故障排除技巧
以下是你可能遇到的一些常見問題以及可能的解決方案:
制表符補全不適用于 docker 子命令
如果你想對 docker
命令選項使用制表符補全(例如將 im
補全到 images
等),請安裝 bash-completion
包:
sudo pacman -S bash-completion
關閉終端并啟動一個新終端。你現(xiàn)在應該能夠通過 docker
命令使用制表符補全功能。
無法連接到 Docker 守護進程錯誤
如果你看到以下錯誤:
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.
那是因為 Docker 守護進程沒有運行。參考步驟 2,啟動 Docker 服務,確保其正在運行并啟用它,以便 Docker 守護進程在每次啟動時自動運行。
sudo systemctl start docker.service
sudo systemctl enable docker.service
嘗試連接到 Docker 守護程序套接字時權限被拒絕
如果你看到此錯誤:
ddocker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
這是因為你需要使用 sudo
運行 docker
命令,或者將用戶添加到 docker
組以在不使用 sudo
的情況下運行 docker
命令。
我希望這篇簡短的文章可以幫助你在 Arch Linux 上運行 Docker。