在 Ubuntu Noble 24.04 上安裝 Docker
昨天晚上不知道為什麼升級 Manjaro 的時候把系統給搞爆了。我就想說我這麼菜,還是別用 Arch linux 比較好。今天,我把我的系統重灌成 Kubuntu 24.04,想要重新設定一個舒舒服服的開發環境,所以安裝了 Docker。在這裡把這個經驗分享給大家!
首先,要先清除與 Docker 相衝突的軟體包:
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt remove $pkg; done接著,需要安裝 curl 以及 ca-certificates:
sudo apt update
sudo apt install curl ca-certificates下載並且設定 Docker 的 GPG 金鑰文件:
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc把 Docker 加進 apt 的資源裡:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update以上步驟都完成之後,就可以用 apt 來安裝 Docker 了。
安裝 Docker 包:
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin安裝完成後,可以使用 root 權限執行:
sudo docker run hello-world若是以一般使用者權限執行 docker run hello-world 的話會出錯,這是因為 Docker daemon 是綁定在 Unix socket 的,而不是 TCP port。而 Unix socket 是 root 所擁有的。
如果不想在執行 docker 指令前面加上 sudo 的話,您可以新增一個 docker 的群組,並且把當前的使用者加入到該群組。但是這麼做的話,會給 docker 群組的使用者 root 級別的權限,可能會對您的系統造成安全問題。若不希望使用 root 權限執行 Docker 的話,請參考 Docker 官方的這篇文章。
新增 docker 群組,並將當前使用者加入該群組:
sudo groupadd docker
sudo usermod -aG docker $USER