在 Arch Linux 上安裝 Docker
了解如何在 Arch Linux 上安裝 Docker,並使用 Docker Compose 和製表符補全為運行容器做好準備。
在 Arch Linux 上安裝 Docker 很簡單。它可以在 Extra 倉庫中找到,你可以簡單地 執行 pacman 魔法:
sudo pacman -S docker
但要在 Arch Linux 上正確運行 Docker,還需要執行更多步驟。
讓 Arch Docker 做好準備
這一切都歸結為以下步驟:
- 從 Arch 倉庫安裝 Docker
- 啟動 Docker 守護進程並在每次啟動時自動運行
- 將用戶添加到
docker
組以運行docker
命令而無需sudo
讓我們看看詳細步驟。
步驟 1:安裝 Docker 包
打開終端並使用以下命令:
sudo pacman -S docker
輸入密碼並在詢問時按 Y
。
這可能需要一些時間,具體取決於你使用的鏡像。
? 如果你看到找不到包或 404 錯誤,那麼你的同步資料庫可能是舊的。使用以下命令更新系統(它將下載大量軟體包並需要時間):
sudo pacman -Syu
步驟 2:啟動 docker 守護進程
Docker 已安裝但未運行。你應該在第一次運行 Docker 命令之前啟動 Docker 守護進程:
sudo systemctl start docker.service
我還建議啟用 Docker 服務,以便 Docker 守護進程在系統啟動時自動啟動。
sudo systemctl enable docker.service
這樣,你就可以開始運行 docker
命令了。你不再需要手動啟動 Docker 服務。
步驟 3:將用戶添加到 docker 組
Docker 已安裝並且 Docker 服務正在運行。你幾乎已準備好運行 docker
命令。
但是,默認情況下,你需要將 sudo
與 docker
命令一起使用。這很煩人。
為了避免在每個 docker
命令中使用 sudo
,你可以將自己(或任何其他用戶)添加到 docker
組,如下所示:
sudo usermod -aG docker $USER
你必須註銷(或關閉終端)並重新登錄才能使上述更改生效。如果你不想這樣做,請使用以下命令:
newgrp docker
現在已經準備好了。我們來測試一下。
步驟 4:驗證 docker 安裝
Docker 本身提供了一個很小的 Docker 鏡像來測試 Docker 安裝。運行它並查看是否一切正常:
docker run hello-world
你應該看到類似這樣的輸出,表明 Docker 成功運行:
恭喜! 你已經在 Arch Linux 上成功安裝了 Docker。
可選:安裝 Docker Compose
Docker Compose 已經成為 Docker 不可或缺的一部分。它允許你管理多個容器應用。
較早的經典 Compose 由 docker-compose
Python 軟體包提供。Docker 還將其移植到 Go 中,並通過 docker compose
提供,但該軟體包附帶 Docker Desktop。
在這個階段,我建議使用經典的 docker-compose
插件並使用以下命令安裝它:
sudo pacman -S docker-compose
故障排除技巧
以下是你可能遇到的一些常見問題以及可能的解決方案:
製表符補全不適用於 docker 子命令
如果你想對 docker
命令選項使用製表符補全(例如將 im
補全到 images
等),請安裝 bash-completion
包:
sudo pacman -S bash-completion
關閉終端並啟動一個新終端。你現在應該能夠通過 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。
(題圖:MJ/9951f8bf-d2e5-4335-bd86-ebf89cba654d)
via: https://itsfoss.com/install-docker-arch-linux/
作者:Abhishek Prakash 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive