1 Ubuntu 安装 Docker
本节主要介绍在系统 Ubuntu24.04 上安装 Docker 的方法,本文要安装的 Docker 是社区版本,Docker Engine-Community 支持 x86_64(或 amd64)、arm64 等架构。
Docker Engine-Community 支持 Ubuntu16.04、Ubuntu18.04、非 LTS 版本 Ubuntu18.10 和 Ubuntu19.04 以及后续更新的 Ubuntu 版本,如Ubuntu20.04、Ubuntu22.04 和 Ubuntu24.04 等。
** 前提准备:**在安装 Docker Engine-Community 之前,需要先检查 Ubuntu 的架构和版本,检测 Ubuntu 系统是否支持安装 Docker Engine-Community。具体操作命令如下所示。
shell
leolei@Jiaolong:~$ hostnamectl
Static hostname: Jiaolong
Icon name: computer-laptop
Chassis: laptop 💻
Machine ID: b56ea6e94e144e75bcf6b6a598ed7661
Boot ID: ed07a6d1241b45ae9fc930e5104d63c8
Operating System: Ubuntu 24.04.3 LTS
Kernel: Linux 6.14.0-36-generic
Architecture: x86-64
Hardware Vendor: MECHREVO
Hardware Model: Jiaolong Series MRID6
Firmware Version: MRID6_23_P_V33
Firmware Date: Sat 2023-09-23
Firmware Age: 2y 2month 1w 5d
通过观察屏幕输出的信息,可以了解到该 Ubuntu 系统的架构为 x86-64,Ubuntu 版本为长期支持版 24.04。因此,该 Ubuntu 系统可以安装 Docker Engine-Community。
1.1 Docker Engine-Community 的安装
本文是通过官方安装脚本进行自动安装。具体的安装方法如下所示。
-
下载 Docker 官方安装脚本 get-docker.sh。
shell# 进入当前用户的下载目录 Downloads cd ~/Downloads # 检查是否安装 curl 命令 apt list curl --installed # 若屏幕输出 Listing... Done 的内容,则表示为安装 curl 命令,请输入如下命令进行安装。安装好 curl 之后,请通过命令 apt list curl --installed 再检查一下。 sudo apt install curl # 下载 Docker 安装脚本,一次执行可能不成功,屏幕输出 curl: (35) Recv failure: Connection reset by peer 的信息,是由服务器重置了连接。可以多次支持,能够下载成功。 curl -fsSL https://get.docker.com -o get-docker.sh -
运行 Docker 官方脚本。
当我完成 get-docker.sh 脚本的下载后,通过命令执行该安装脚本。具体操作如下所示。
shellleolei@Jiaolong:~/Downloads$ ls -l | grep get-docker.sh -rw-rw-r-- 1 leolei leolei 21013 Dec 4 17:31 get-docker.sh leolei@Jiaolong:~/Downloads$ sudo sh get-docker.sh # Executing docker install script, commit: 7d96bd3c5235ab2121bcb855dd7b3f3f37128ed4 + sh -c apt-get -qq update >/dev/null + sh -c DEBIAN_FRONTEND=noninteractive apt-get -y -qq install ca-certificates curl >/dev/null + sh -c install -m 0755 -d /etc/apt/keyrings + sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" -o /etc/apt/keyrings/docker.asc + sh -c chmod a+r /etc/apt/keyrings/docker.asc + sh -c echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble stable" > /etc/apt/sources.list.d/docker.list + sh -c apt-get -qq update >/dev/null + sh -c DEBIAN_FRONTEND=noninteractive apt-get -y -qq install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin docker-model-plugin >/dev/null + sh -c docker version Client: Docker Engine - Community Version: 29.1.2 API version: 1.52 Go version: go1.25.5 Git commit: 890dcca Built: Tue Dec 2 21:55:19 2025 OS/Arch: linux/amd64 Context: default Server: Docker Engine - Community Engine: Version: 29.1.2 API version: 1.52 (minimum version 1.44) Go version: go1.25.5 Git commit: de45c2a Built: Tue Dec 2 21:55:19 2025 OS/Arch: linux/amd64 Experimental: false containerd: Version: v2.2.0 GitCommit: 1c4457e00facac03ce1d75f7b6777a7a851e5c41 runc: Version: 1.3.4 GitCommit: v1.3.4-0-gd6d73eb8 docker-init: Version: 0.19.0 GitCommit: de40ad0 ================================================================================ To run Docker as a non-privileged user, consider setting up the Docker daemon in rootless mode for your user: dockerd-rootless-setuptool.sh install Visit https://docs.docker.com/go/rootless/ to learn about rootless mode. To run the Docker daemon as a fully privileged service, but granting non-root users access, refer to https://docs.docker.com/go/daemon-access/ WARNING: Access to the remote API on a privileged Docker daemon is equivalent to root access on the host. Refer to the 'Docker daemon attack surface' documentation for details: https://docs.docker.com/go/attack-surface/ ================================================================================通过命令
ls -l查看安装脚本 get-docker.sh 的全线,发现该脚本没有执行权限,所以需要通过 sh 运行该脚本。然后执行 Docker 的安装,安装过程中发现,Docker 总是安装失败是应为 Docker 网站是境外网站,下载不稳定。因此我不推荐使用该方法安装 Docker,建议大家使用国内镜像原进行安装 Docker。 -
启动服务并设置 Docker 随系统启动。
Docker 安装完成后,需要启动 Docker 服务才能使用,具体的操作方法如下所示。
shell# 启动 Docker 服务 leolei@Jiaolong:~/Downloads$ sudo systemctl start docker # 设置 Docker 服务随系统启动 leolei@Jiaolong:~/Downloads$ sudo systemctl enable docker Synchronizing state of docker.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable docker # 查看 Docker 服务的状态 leolei@Jiaolong:~/Downloads$ sudo systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: e> Active: active (running) since Thu 2025-12-04 17:53:31 CST; 31min ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 14202 (dockerd) Tasks: 21 Memory: 27.9M (peak: 32.8M) CPU: 270ms CGroup: /system.slice/docker.service └─14202 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/con> Dec 04 17:53:30 Jiaolong dockerd[14202]: time="2025-12-04T17:53:30.874029939+08> Dec 04 17:53:30 Jiaolong dockerd[14202]: time="2025-12-04T17:53:30.925508519+08> Dec 04 17:53:30 Jiaolong dockerd[14202]: time="2025-12-04T17:53:30.940164540+08> Dec 04 17:53:31 Jiaolong dockerd[14202]: time="2025-12-04T17:53:31.127906157+08> Dec 04 17:53:31 Jiaolong dockerd[14202]: time="2025-12-04T17:53:31.131659759+08> Dec 04 17:53:31 Jiaolong dockerd[14202]: time="2025-12-04T17:53:31.131722046+08> Dec 04 17:53:31 Jiaolong dockerd[14202]: time="2025-12-04T17:53:31.219102433+08> Dec 04 17:53:31 Jiaolong dockerd[14202]: time="2025-12-04T17:53:31.222050216+08> Dec 04 17:53:31 Jiaolong dockerd[14202]: time="2025-12-04T17:53:31.222071155+08> Dec 04 17:53:31 Jiaolong systemd[1]: Started docker.service - Docker Applicatio>根据屏幕的输出信息可以知道 Docker 已成功启动。至此,Docker 的安装到此结束。
1.2 Docker 镜像加速
在国内拉取 Docker Hub 的镜像有时会遇到困难,可能会拉取缓慢或拉取失败,此时,我们可以配置国内的镜像加速器加速,例如科大镜像、阿里云等。本文采用的是阿里云镜像加速器,阿里云镜像获取地址为https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,登陆后,你就可以看到你的专属镜像加速器了。如下图所示。

配置阿里云镜像加速器的具体操作如下所示。
-
查看配置文件是否有文件 daemon.json。
shell# 进入到配置文件目录下 /etc/docker cd /etc/docker # 查看该目录包含的文件是否有 daemon.json leolei@Jiaolong:/etc/docker$ ls -l从屏幕的输出信息可以知道,该文件下没有文件 daemon.json。
-
添加文件 daemon.json。
shell# 添加文件及其内容 leolei@Jiaolong:/etc/docker$ sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://******.mirror.aliyuncs.com"] } EOF [sudo] password for leolei: { "registry-mirrors": ["https://*******.mirror.aliyuncs.com"] } # 查看文件是否创建成功 leolei@Jiaolong:/etc/docker$ ls -l total 4 -rw-r--r-- 1 root root 67 Dec 4 18:50 daemon.json # 查看文件的内容是否写入成功 leolei@Jiaolong:/etc/docker$ cat daemon.json { "registry-mirrors": ["https://*******.mirror.aliyuncs.com"] }根据对文件的检查命令,可以知道阿里云镜像加速器配置成功。
-
重载 daemon 和重启 Docker 服务。
shellleolei@Jiaolong:/etc/docker$ sudo systemctl daemon-reload leolei@Jiaolong:/etc/docker$ sudo systemctl restart docker leolei@Jiaolong:/etc/docker$ sudo systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: e> Active: active (running) since Thu 2025-12-04 18:52:20 CST; 11s ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 20446 (dockerd) Tasks: 19 Memory: 24.9M (peak: 28.8M) CPU: 203ms CGroup: /system.slice/docker.service └─20446 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/con> Dec 04 18:52:19 Jiaolong dockerd[20446]: time="2025-12-04T18:52:19.575650904+08> Dec 04 18:52:19 Jiaolong dockerd[20446]: time="2025-12-04T18:52:19.602434624+08> Dec 04 18:52:19 Jiaolong dockerd[20446]: time="2025-12-04T18:52:19.621490813+08> Dec 04 18:52:20 Jiaolong dockerd[20446]: time="2025-12-04T18:52:20.234773287+08> Dec 04 18:52:20 Jiaolong dockerd[20446]: time="2025-12-04T18:52:20.239063210+08> Dec 04 18:52:20 Jiaolong dockerd[20446]: time="2025-12-04T18:52:20.239090962+08> Dec 04 18:52:20 Jiaolong dockerd[20446]: time="2025-12-04T18:52:20.241152157+08> Dec 04 18:52:20 Jiaolong dockerd[20446]: time="2025-12-04T18:52:20.244161104+08> Dec 04 18:52:20 Jiaolong dockerd[20446]: time="2025-12-04T18:52:20.244187063+08> Dec 04 18:52:20 Jiaolong systemd[1]: Started docker.service - Docker Applicatio>根据屏幕的输出信息可以知道,阿里云的镜像加速器配置成功且启动成功。
至此,Docker 的镜像加速起配置完成。