Docker有两个版本:企业版(EE)和社区版(CE)。

对于本教程,我们将要安装Docker的社区版本.

安装 Docker

1. 卸载旧版本

旧版本的 Docker 称为 docker 或者 docker-engine,对于当前具有旧版本的Docker的人,请运行以下命令以删除它们。

sudo apt remove docker docker-engine  docker-doc docker-compose podman-docker containerd runc

2. 安装docker依赖

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书。

sudo apt update
sudo apt-get install apt-transport-https ca-certificates curl gnupg gnupg-agent lsb-release software-properties-common

鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。

3. 添加软件源的 GPG 密钥

为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。密钥用于验证从Docker的存储库安装的软件包确保它们是值得信赖的。

#使用国内地址
#curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 官方源
# $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

我们应该看到下面显示的输出:

# Output:

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK

4. 添加Docker软件源

注:该命令需要使用root权限

既然安装了官方GPG密钥,我们需要向 sources.list 中添加 Docker 软件源,请运行下面的命令将其稳定的存储库添加到Ubuntu。

# 国内源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

## 官方源
# sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

此时,Docker的官方GPG和存储库应安装在Ubuntu上。

5. 安装docker

列出可安装的 Docker 版本:

apt-cache madison docker-ce
Output:
 docker-ce | 5:20.10.24~3-0~ubuntu-jammy | http://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 Packages
 docker-ce | 5:20.10.23~3-0~ubuntu-jammy | http://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 Packages
 docker-ce | 5:20.10.22~3-0~ubuntu-jammy | http://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 Packages
 docker-ce | 5:20.10.21~3-0~ubuntu-jammy | http://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 Packages
 docker-ce | 5:20.10.20~3-0~ubuntu-jammy | http://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 Packages

安装特定版本的 Docker

更新 apt 软件包缓存,并安装 docker-ce:

sudo apt update

找到您需要的版本号,然后使用以下命令安装它(以安装版本 5:20.10.24~3-0~ubuntu-jammy 为例):

sudo apt-get install docker-ce=5:20.10.24~3-0~ubuntu-jammy docker-ce-cli=5:20.10.24~3-0~ubuntu-jammy containerd.io

如果我们只想要最新版本而不指定上面,请运行以下命令。

sudo apt install docker-ce docker-ce-cli containerd.io

查看版本

我们可以通过下面的命令来查看docker的版本

sudo docker version

配置用户组(可选)

注:重新登录才能使更改生效。

默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。命令如下:

sudo usermod -aG docker $USER
sudo systemctl restart docker

配置镜像加速器

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
        "https://dockerhub.icu",
        "https://docker.ckyl.me",
        "https://",
        "https://docker.m.daocloud.io",
        "https://gcr.m.daocloud.io",
        "https://docker.laoex.link"
  ],
  "experimental": true
}
EOF

# 重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker

配置开机启动

systemctl enable docker.socket
systemctl enable docker.service
sudo systemctl restart docker
sudo systemctl status docker

验证服务

通过运行Hello-World Image验证Docker CE是否已正确安装,请运行以下命令:

sudo docker run --rm docker.m.daocloud.io/hello-world

我们应该看到如下类似的线条:

Output:
Hello from Docker!
This message shows that your installation appears to be working correctly.
... ... ...

Docker安装完成!


安装Docker Compose

Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https:///docker/compose/releases

  • 安装指定版本
sudo curl -L "https:///docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  • 安装最新版本
sudo curl -L "https:///docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

下载后,运行下面的命令以将可执行权限应用于二进制文件,并创建符号链接到/usr /二进制文件

sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

要测试,请运行以下命令:

docker-compose --version

我们应该看到类似的输出如下:

docker-compose version 1.29.2, build 5becea4c