为什么要使用debina的docker源,因为查询os-release和uname 显示是基于debina 11的操作系统
root@yuhua-virtualmachine:~# cat /etc/os-release
NAME="方德桌面操作系统"
NAME_EN="NFSDesktop"
VERSION="5.0"
VERSION_ID="5.0"
MINOR_VERSION="G230"
ID=nfsdesktop
ID_LIKE=debian
PRETTY_NAME="NFSDesktop 5.0-G230"
VERSION_CODENAME=tiger
HOME_URL="http://www.nfschina.com/"
RELEASE_TYPE="RETAIL"
SYSTEM_RECORD=20240806N02S00
root@yuhua-virtualmachine:~#
root@yuhua-virtualmachine:~# uname -a
Linux yuhua-virtualmachine 5.4.0-100-generic #100.1+m57+2nfs5 SMP Tue May 28 11:14:25 UTC 2024 x86_64 GNU/Linux
root@yuhua-virtualmachine:~#
1.添加 Docker 仓库
# 安装依赖工具
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release
# 创建 GPG 密钥目录
sudo mkdir -p /etc/apt/keyrings
# 下载阿里云 Docker GPG 密钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker-aliyun.gpg
# 添加阿里云 Docker 源(适配 Debian 11)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker-aliyun.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian bullseye stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2.安装 Docker
使用以下命令安装 Docker:
root@yuhua-virtualmachine:/etc/apt/keyrings# sudo apt install docker-ce docker-ce-cli containerd.io
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
将会同时安装下列软件:
apparmor docker-ce-rootless-extras docker-scan-plugin libslirp0 pigz slirp4netns
建议安装:
apparmor-profiles-extra apparmor-utils cgroupfs-mount | cgroup-lite
下列【新】软件包将被安装:
apparmor containerd.io docker-ce docker-ce-cli docker-ce-rootless-extras docker-scan-plugin libslirp0 pigz slirp4netns
升级了 0 个软件包,新安装了 9 个软件包,要卸载 0 个软件包,有 301 个软件包未被升级。
需要下载 101 MB 的归档。
解压缩后会消耗 402 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 https://repos.os.nfschina.com/deb/nfs/tiger-1018-g212 base/main amd64 pigz amd64 2.6-1+nfs5 [64.7 kB]
获取:2 https://mirrors.aliyun.com/docker-ce/linux/debian bullseye/stable amd64 containerd.io amd64 1.7.27-1 [30.5 MB]
获取:3 https://softcenter-all.os.nfschina.com/nfscdos 3.0/depend amd64 docker-ce-cli amd64 5:20.10.17 [40.6 MB]
获取:4 https://repos.os.nfschina.com/deb/nfs/tiger-1018-g212 base/main amd64 apparmor amd64 2.13.6-10+nfs5 [641 kB]
获取:5 https://repos.os.nfschina.com/deb/nfs/tiger-1018-g212-upstream base/main amd64 libslirp0 amd64 4.4.0-1+deb11u2 [58.6 kB]
获取:6 https://repos.os.nfschina.com/deb/nfs/tiger-1018-g212-upstream base/main amd64 slirp4netns amd64 1.0.1-2 [34.0 kB]
获取:7 https://mirrors.aliyun.com/docker-ce/linux/debian bullseye/stable amd64 docker-ce amd64 5:28.0.4-1~debian.11~bullseye [19.1 MB]
获取:8 https://mirrors.aliyun.com/docker-ce/linux/debian bullseye/stable amd64 docker-ce-rootless-extras amd64 5:28.0.4-1~debian.11~bullseye [6,090 kB]
获取:9 https://mirrors.aliyun.com/docker-ce/linux/debian bullseye/stable amd64 docker-scan-plugin amd64 0.23.0~debian-bullseye [3,623 kB]
已下载 101 MB,耗时 26秒 (3,813 kB/s)
正在预设定软件包 ...
正在选中未选择的软件包 pigz。
(正在读取数据库 ... 系统当前共安装有 247821 个文件和目录。)
准备解压 .../0-pigz_2.6-1+nfs5_amd64.deb ...
正在解压 pigz (2.6-1+nfs5) ...
正在选中未选择的软件包 apparmor。
准备解压 .../1-apparmor_2.13.6-10+nfs5_amd64.deb ...
正在解压 apparmor (2.13.6-10+nfs5) ...
正在选中未选择的软件包 containerd.io。
准备解压 .../2-containerd.io_1.7.27-1_amd64.deb ...
正在解压 containerd.io (1.7.27-1) ...
正在选中未选择的软件包 docker-ce-cli。
准备解压 .../3-docker-ce-cli_5%3a20.10.17_amd64.deb ...
正在解压 docker-ce-cli (5:20.10.17) ...
正在选中未选择的软件包 docker-ce。
准备解压 .../4-docker-ce_5%3a28.0.4-1~debian.11~bullseye_amd64.deb ...
正在解压 docker-ce (5:28.0.4-1~debian.11~bullseye) ...
正在替换原软件包中的文件 docker-ce-cli (5:20.10.17) ...
正在选中未选择的软件包 docker-ce-rootless-extras。
准备解压 .../5-docker-ce-rootless-extras_5%3a28.0.4-1~debian.11~bullseye_amd64.deb ...
正在解压 docker-ce-rootless-extras (5:28.0.4-1~debian.11~bullseye) ...
正在选中未选择的软件包 docker-scan-plugin。
准备解压 .../6-docker-scan-plugin_0.23.0~debian-bullseye_amd64.deb ...
正在解压 docker-scan-plugin (0.23.0~debian-bullseye) ...
正在选中未选择的软件包 libslirp0:amd64。
准备解压 .../7-libslirp0_4.4.0-1+deb11u2_amd64.deb ...
正在解压 libslirp0:amd64 (4.4.0-1+deb11u2) ...
正在选中未选择的软件包 slirp4netns。
准备解压 .../8-slirp4netns_1.0.1-2_amd64.deb ...
正在解压 slirp4netns (1.0.1-2) ...
正在设置 docker-scan-plugin (0.23.0~debian-bullseye) ...
正在设置 apparmor (2.13.6-10+nfs5) ...
Created symlink /etc/systemd/system/sysinit.target.wants/apparmor.service → /lib/systemd/system/apparmor.service.
正在设置 containerd.io (1.7.27-1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service.
正在设置 docker-ce-cli (5:20.10.17) ...
正在设置 libslirp0:amd64 (4.4.0-1+deb11u2) ...
正在设置 pigz (2.6-1+nfs5) ...
正在设置 docker-ce-rootless-extras (5:28.0.4-1~debian.11~bullseye) ...
正在设置 slirp4netns (1.0.1-2) ...
正在设置 docker-ce (5:28.0.4-1~debian.11~bullseye) ...
(2025-04-17 16:01:09:739973): [sss_cache] [confdb_get_enabled_domain_list] (0x0040): Failed to get [domains] from [sssd], error [2] (No such file or directory)
(2025-04-17 16:01:09:740116): [sss_cache] [init_domains] (0x0020): Could not initialize domains
(2025-04-17 16:01:09:755621): [sss_cache] [confdb_get_enabled_domain_list] (0x0040): Failed to get [domains] from [sssd], error [2] (No such file or directory)
(2025-04-17 16:01:09:755700): [sss_cache] [init_domains] (0x0020): Could not initialize domains
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket.
正在处理用于 man-db (2.9.4-2+nfs5) 的触发器 ...
正在处理用于 libc-bin (2.31-13+deb11u3+m3+1nfs5) 的触发器 ...
3.启动并启用 Docker 服务
启动 Docker 服务并设置为开机自启动:
root@yuhua-virtualmachine:~# systemctl start docker
root@yuhua-virtualmachine:~# systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2025-04-17 16:01:11 CST; 1min 25s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 22645 (dockerd)
Tasks: 17
Memory: 36.5M
CPU: 394ms
CGroup: /system.slice/docker.service
└─22645 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
4月 17 16:01:11 yuhua-virtualmachine dockerd[22645]: time="2025-04-17T16:01:11.154428478+08:00" level=info msg="Creating a containerd client" address=/run/containerd/containerd.sock timeout=1m0s
4月 17 16:01:11 yuhua-virtualmachine dockerd[22645]: time="2025-04-17T16:01:11.213538846+08:00" level=info msg="Loading containers: start."
4月 17 16:01:11 yuhua-virtualmachine dockerd[22645]: time="2025-04-17T16:01:11.596295051+08:00" level=info msg="Loading containers: done."
4月 17 16:01:11 yuhua-virtualmachine dockerd[22645]: time="2025-04-17T16:01:11.642240668+08:00" level=warning msg="WARNING: No swap limit support"
4月 17 16:01:11 yuhua-virtualmachine dockerd[22645]: time="2025-04-17T16:01:11.642319840+08:00" level=info msg="Docker daemon" commit=6430e49 containerd-snapshotter=false storage-driver=overlay2 ve>
4月 17 16:01:11 yuhua-virtualmachine dockerd[22645]: time="2025-04-17T16:01:11.642468432+08:00" level=info msg="Initializing buildkit"
4月 17 16:01:11 yuhua-virtualmachine dockerd[22645]: time="2025-04-17T16:01:11.684315649+08:00" level=info msg="Completed buildkit initialization"
4月 17 16:01:11 yuhua-virtualmachine dockerd[22645]: time="2025-04-17T16:01:11.689274710+08:00" level=info msg="Daemon has completed initialization"
4月 17 16:01:11 yuhua-virtualmachine dockerd[22645]: time="2025-04-17T16:01:11.689349911+08:00" level=info msg="API listen on /run/docker.sock"
4月 17 16:01:11 yuhua-virtualmachine systemd[1]: Started Docker Application Container Engine.
root@yuhua-virtualmachine:~# systemctl enable docker --now
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable docker
root@yuhua-virtualmachine:~#
4.验证 Docker 安装
运行以下命令检查 Docker 版本:
root@yuhua-virtualmachine:~# docker --version
Docker version 20.10.17, build 100c701
5.允许普通用户使用 Docker
# 将当前用户加入 docker 组
sudo usermod -aG docker $USER
newgrp docker # 立即生效组权限
6.配置镜像加速器(国内优化)
6.1 创建配置目录(如果不存在)
sudo mkdir -p /etc/docker
6.2 创建配置文件并编辑(如果不存在)
sudo vi /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.xuanyuan.me"
]
}
6.3 重启docker
systemctl daemon-reload
systemctl restart docker
6.4 拉取指定镜像示例
root@yuhua-virtualmachine:/etc/docker# docker pull docker.1ms.run/library/mysql:5.7
5.7: Pulling from library/mysql
20e4dcae4c69: Pull complete
1c56c3d4ce74: Pull complete
e9f03a1c24ce: Pull complete
68c3898c2015: Pull complete
6b95a940e7b6: Pull complete
90986bb8de6e: Pull complete
ae71319cb779: Pull complete
ffc89e9dfd88: Pull complete
43d05e938198: Pull complete
064b2d298fba: Pull complete
df9a4d85569b: Pull complete
Digest: sha256:4bc6bc963e6d8443453676cae56536f4b8156d78bae03c0145cbe47c2aad73bb
Status: Downloaded newer image for docker.1ms.run/library/mysql:5.7
docker.1ms.run/library/mysql:5.7