在 Ubuntu 上安装 Docker CE

2024-07-31 / Docker

本文主要以 Ubuntu 20.04 为例讲述如何在 Debian/Ubuntu 系列 Linux 发行版上通过上游官方仓库安装 Docker CE,其他发行版的安装方式也类似,不同地方主要在源地址配置中。

一、准备

2.1 准备 GPG 证书

将以下内容保存为名为 docker-gpg.txt 文件。

注:以下内容来源于仓库中 gpg 文件。

mQINBFit2ioBEADhWpZ8/wvZ6hUTiXOwQHXMAlaFHcPH9hAtr4F1y2+OYdbtMuthlqqwp028AqyY
+PRfVMtSYMbjuQuu5byyKR01BbqYhuS3jtqQmljZ/bJvXqnmiVXh38UuLa+z077PxyxQhu5Bbqnt
TPQMfiyqEiU+BKbq2WmANUKQf+1AmZY/IruOXbnqL4C1+gJ8vfmXQt99npCaxEjaNRVYfOS8Qcix
NzHUYnb6emjlANyEVlZzeqo7XKl7UrwV5inawTSzWNvtjEjj4nJL8NsLwscpLPQUhTQ+7BbQXAwA
meHCUTQIvvWXqw0Ncmhh4HgeQscQHYgOJjjDVfoY5MucvglbIgCqfzAHW9jxmRL4qbMZj+b1XoeP
Ethtku4bIQN1X5P07fNWzlgaRL5Z4POXDDZTlIQ/El58j9kp4bnWRCJW0lya+f8ocodovZZ+Doi+
fy4D5ZGrL4XEcIQP/Lv5uFyf+kQtl/94VFYVJOleAv8W92KdgDkhTcTDG7c0tIkVEKNUq48b3aQ6
4NOZQW7fVjfoKwEZdOqPE72Pa45jrZzvUFxSpdiNk2tZXYukHjlxxEgBdC/J3cMMNRE1F4NCA3Ap
fV1Y7/hTeOnmDuDYwr9/obA8t016Yljjq5rdkywPf4JF8mXUW5eCN1vAFHxeg9ZWemhBtQmGxXnw
9M+z6hWwc6ahmwARAQABtCtEb2NrZXIgUmVsZWFzZSAoQ0UgZGViKSA8ZG9ja2VyQGRvY2tlci5j
b20+iQI3BBMBCgAhBQJYrefAAhsvBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEI2BgDwOv82I
sskP/iQZo68flDQmNvn8X5XTd6RRaUH33kXYXquT6NkHJciS7E2gTJmqvMqdtI4mNYHCSEYxI5qr
cYV5YqX9P6+Ko+vozo4nseUQLPH/ATQ4qL0Zok+1jkag3LgkjonyUf9bwtWxFp05HC3GMHPhhcUS
exCxQLQvnFWXD2sWLKivHp2fT8QbRGeZ+d3m6fqcd5Fu7pxsqm0EUDK5NL+nPIgYhN+auTrhgzhK
1CShfGccM/wfRlei9Utz6p9PXRKIlWnXtT4qNGZNTN0tR+NLG/6Bqd8OYBaFAUcue/w1VW6JQ2VG
YZHnZu9S8LMcFYBa5Ig9PxwGQOgq6RDKDbV+PqTQT5EFMeR1mrjckk4DQJjbxeMZbiNMG5kGECA8
g383P3elhn03WGbEEa4MNc3Z4+7c236QI3xWJfNPdUbXRaAwhy/6rTSFbzwKB0JmebwzQfwjQY6f
55MiI/RqDCyuPj3r3jyVRkK86pQKBAJwFHyqj9KaKXMZjfVnowLh9svIGfNbGHpucATqREvUHuQb
NnqkCx8VVhtYkhDb9fEP2xBu5VvHbR+3nfVhMut5G34Ct5RS7Jt6LIfFdtcn8CaSas/l1HbiGeRg
c70X/9aYx/V/CEJv0lIe8gP6uDoWFPIZ7d6vH+Vro6xuWEGiuMaiznap2KhZmpkgfupyFmplh0s6
knymuQINBFit2ioBEADneL9S9m4vhU3blaRjVUUyJ7b/qTjcSylvCH5XUE6R2k+ckEZjfAMZPLpO
+/tFM2JIJMD4SifKuS3xck9KtZGCufGmcwiLQRzeHF7vJUKrLD5RTkNi23ydvWZgPjtxQ+DTT1Zc
n7BrQFY6FgnRoUVIxwtdw1bMY/89rsFgS5wwuMESd3Q2RYgb7EOFOpnuw6da7WakWf4IhnF5nsNY
GDVaIHzpiqCl+uTbf1epCjrOlIzkZ3Z3Yk5CM/TiFzPkz2lLz89cpD8U+NtCsfagWWfjd2U3jDap
gH+7nQnCEWpROtzaKHG6lA3pXdix5zG8eRc6/0IbUSWvfjKxLLPfNeCS2pCL3IeEI5nothEEYdQH
6szpLog79xB9dVnJyKJbVfxXnseoYqVrRz2VVbUI5Blwm6B40E3eGVfUQWiux54DspyVMMk41Mx7
QJ3iynIa1N4ZAqVMAEruyXTRTxc9XW0tYhDMA/1GYvz0EmFpm8LzTHA6sFVtPm/ZlNCX6P1XzJwr
v7DSQKD6GGlBQUX+OeEJ8tTkkf8QTJSPUdh8P8YxDFS5EOGAvhhpMBYD42kQpqXjEC+XcycTvGI7
impgv9PDY1RCC1zkBjKPa120rNhv/hkVk/YhuGoajoHyy4h7ZQopdcMtpN2dgmhEegny9JCSwxfQ
mQ0zK0g7m6SHiKMwjwARAQABiQQ+BBgBCAAJBQJYrdoqAhsCAikJEI2BgDwOv82IwV0gBBkBCAAG
BQJYrdoqAAoJEH6gqcPyc/zY1WAP/2wJ+R0gE6qsce3rjaIz58PJmc8goKrir5hnElWhPgbq7cYI
sW5qiFyLhkdpYcMmhD9mRiPpQn6Ya2w3e3B8zfIVKipbMBnke/ytZ9M7qHmDCcjoiSmwEXN3wKYI
mD9VHONsl/CG1rU9Isw1jtB5g1YxuBA7M/m36XN6x2u+NtNMDB9P56yc4gfsZVESKA9v+yY2/l45
L8d/WUkUi0YXomn6hyBGI7JrBLq0CX37GEYP6O9rrKipfz73XfO7JIGzOKZlljb/D9RX/g7nRbCn
+3EtH7xnk+TK/50euEKw8SMUg147sJTcpQmv6UzZcM4JgL0HbHVCojV4C/plELwMddALOFeYQzTi
f6sMRPf+3DSj8frbInjChC3yOLy06br92KFom17EIj2CAcoeq7UPhi2oouYBwPxh5ytdehJkoo+s
N7RIWua6P2WSmon5U888cSylXC0+ADFdgLX9K2zrDVYUG1vo8CX0vzxFBaHwN6Px26fhIT1/hYUH
QR1zVfNDcyQmXqkOnZvvoMfz/Q0s9BhFJ/zU6AgQbIZE/hm1spsfgvtsD1frZfygXJ9firP+MSAI
80xHSf91qSRZOj4Pl3ZJNbq4yYxv0b1pkMqeGdjdCYhLU+LZ4wbQmpCkSVe2prlLureigXtmZfkq
evRz7FrIZiu9ky8wnCAPwC7/zmS18rgP/17bOtL4/iIzQhxAAoAMWVrGyJivSkjhSGx1uCojsWfs
TAm11P7jsruIL61ZzMUVE2aM3Pmj5G+W9AcZ58Em+1WsVnAXdUR//bMmhyr8wL/G1YO1V3JEJTRd
xsSxdYa4deGBBY/Adpsw24jxhOJR+lsJpqIUeb999+R8euDhRHG9eFO7DRu6weatUJ6suupoDTRW
tr/4yGqedKxV3qQhNLSnaAzqW/1nA3iUB4k7kCaKZxhdhDbClf9P37qaRW467BLCVO/coL3yVm50
dwdrNtKpMBh3ZpbB1uJvgi9mXtyBOMJ3v8RZeDzFiG8HdCtg9RvIt/AIFoHRH3S+U79NT6i0KPzL
ImDfs8T7RlpyuMc4Ufs8ggyg9v3Ae6cN3eQyxcK3w0cbBwsh/nQNfsA6uu+9H7NhbehBMhYnpNZy
rHzCmzyXkauwRAqoCbGCNykTRwsur9gS41TQM8ssD1jFheOJf3hODnkKU+HKjvMROl1DK7zdmLdN
zA1cvtZH/nCC9KPj1z8QC47Sxx+dTZSx4ONAhwbS/LN3PoKtn8LPjY9NP9uDWI+TWYquS2U+KHDr
BDlsgozDbs/OjCxcpDzNmXpWQHEtHU7649OXHP7UeNST1mCUCH5qdank0V1iejF6/CfTFU4MfcrG
YT90qFF93M3v01BbxP+EIY2/9tiIPbrd

执行以下命令写入仓库 GPG 证书。

$ sudo mkdir -p /etc/apt/keyrings/
$ cat gpg.txt | sudo base64 -d > /etc/apt/keyrings/docker.gpg

2.2 写入更新源

/etc/apt/sources.list.d/docker.list 文件中写入以下内容:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu focal stable

其中:

  1. https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu 为仓库地址,根据所在地区可以选取不同的地址。

    以下是一些常用镜像仓库地址:

    • https://download.docker.com/linux/ubuntu
    • https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu
    • https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu
    • https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu
    • https://mirror.sjtu.edu.cn/docker-ce/linux/ubuntu
    • https://mirrors.huaweicloud.com/docker-ce/linux/ubuntu
  2. focal 为 Ubuntu 发行版代号。

    以下是 Ubuntu 主要发行代号和版本号对应关系:

    • focal: Ubuntu 20.04
    • jammy: Ubuntu 22.04
    • mantic: Ubuntu 23.10
    • noble: Ubuntu 24.04

二、安装

在GPG证书和更新源配置都准备完成之后,执行以下命令更新仓库索引并安装 docker-ce 软件包:

$ sudo apt update
$ sudo apt install -y docker-ce

三、检查

通过以下命令查看安装的 Docker CE 版本号:

$ sudo docker version

示例:

root@Lemuria:~# docker version
Client: Docker Engine - Community
 Version:           27.1.1
 API version:       1.46
 Go version:        go1.21.12
 Git commit:        6312585
 Built:             Tue Jul 23 19:56:56 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          27.1.1
  API version:      1.46 (minimum version 1.24)
  Go version:       go1.21.12
  Git commit:       cc13f95
  Built:            Tue Jul 23 19:56:56 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.7.19
  GitCommit:        2bf793ef6dc9a18e00cb12efb64355c2c9d5eb41
 runc:
  Version:          1.7.19
  GitCommit:        v1.1.13-0-g58aa920
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
root@Lemuria:~#

四、安装 docker-compose

通过以下命令将 Docker CE 自带的 docker-compose 插件安装至系统目录。

$ sudo cp /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose

安装完成后通过以下命令查看版本号:

$ docker-compose version

示例:

root@Lemuria:~# docker-compose version
Docker Compose version v2.29.1