跳到正文

Wiki

安裝Docker

約 4 分鐘閱讀

本文由簡體中文內容確定性轉換,並受版本化術語表保護。

1.Linux安裝Docker Engine(推薦)

Linux只需要安裝Docker Engine就可以,不要安裝docker desktop,那玩意是專門給Mac和Windows用的。

Linux跑docker效能損失很低,而Windows和MacOS跑docker損失相對於大一些。

https://docs.docker.com/engine/install/

https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/

1.1.Ubuntu(APT)

以下內容根據 官方文件 修改而來。

如果你過去安裝過 docker,先刪掉:

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

首先安裝依賴和GPG:

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.asc

# 如果上面这行报错就弄下面这行
sudo chmod a+r /etc/apt/keyrings/docker.gpg

信任 Docker 的 GPG 公鑰並新增倉庫:

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

最後安裝

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

1.2.Fedora(DNF5)

以下內容根據 官方文件 修改而來。(官方教程還是DNF4,太老了,請看下方的教程)

如果你之前安裝過 docker,請先刪掉

sudo dnf remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

安裝依賴,下載 repo 檔案,並把軟體倉庫地址替換為映象站:

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager addrepo --from-repofile=https://download.docker.com/linux/fedora/docker-ce.repo
sudo sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo

最後安裝:

sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2.配置環境

2.1.檢查 Docker 服務狀態

在 Linux 上,你可以通過以下命令檢查 Docker 服務的狀態:

systemctl status docker

2.2.啟動 Docker 服務

如果服務沒有執行,可以使用以下命令啟動 Docker 服務:

sudo systemctl start docker

2.3.設定 Docker 開機自啟

如果你希望 Docker 在每次啟動時自動執行,可以啟用開機自啟:

sudo systemctl enable docker

2.4.將使用者新增到 docker

使用以下命令將當前使用者新增到 docker 組:

sudo usermod -aG docker $USER

2.5.退出並重新登入

執行完上述命令後,你需要退出當前會話並重新登入,或者執行以下命令使更改生效:

newgrp docker

2.6.重新啟動 Docker 服務(如果需要)

確保 Docker 服務正在執行,可以使用以下命令:

sudo systemctl start docker

2.7.重啟電腦後檢查 Docker 服務狀態

先重啟電腦,接著你可以通過以下命令檢查 Docker 服務的狀態,看看是否正常:

sudo reboot

systemctl status docker

3.安裝Docker Desktop(Win,Mac)

(Docker Desktop在Windows和MacOS使用的是虛擬機器,效能有損失,在這倆系統上可以用,但是你需要接受這些效能損失。在Windows上效能損失和WSL2的損失幾乎一樣,因為Windows的docker desktop基於wsl2)

(Docker Desktop在Linux上只是Docker Engine的一個GUI管理工具,依然預設使用Docker Engine開啟容器,所以依然幾乎沒有損耗,討厭用命令列的可以考慮使用)

官方下載安裝:https://www.docker.com/

Windows的Docker顯示卡直通與USB直通:

在Windows上想Nvidia顯示卡直通的話,需要先去DockerDesktop設定裡開啟WSL2支援並勾選一個wsl2的發行版,比如Ubuntu22.04,緊接著,需要進入wsl2的Ubuntu22.04中安裝NVIDIA Container Toolkit,教程在下方。

在Windows的Docker上想要USB直通需要先讓wsl2直通該usb,再在docker run命令將該裝置新增到docker。(如果把wsl2所有裝置全掛載到docker了,那麼只需要讓usb直通wsl2)