VMware虚拟机下Linux系统(Ubuntu桌面版)微服务环境搭建 - Docker篇
安装依赖
sudo apt update sudo apt install curl -y
添加 Docker 官方 GPG 公钥
1.创建密钥环目录
sudo install -m 0755 -d /etc/apt/keyrings
参数说明: -m:设置模式,即设置文件或目录的权限 0755:一个八进制的权限掩码 第一位0:表示特殊权限位,这里为 0 表示没有特殊权限 第二位7:表示所有者的权限,7 是 4 (读) + 2 (写) + 1 (执行) 的和,所以所有者有读、写、执行权限 第三位5:表示所属组的权限。5 是 4 (读) + 1 (执行) 的和,所以组有读和执行权限。 第四位5:表示其他用户的权限。同样,有读和执行权限 -d:创建目录
2.下载并保存 GPG 公钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
参数说明:
-f:失败时静默退出 -s:静默模式 -S:当处于静默模式时显示错误 -L:跟随重定向,curl 会自动跟随重定向,并获取最终目标 URL 的内容
3.设置权限
sudo chmod a+r /etc/apt/keyrings/docker.gpg
参数说明:
a+r:表示出所有用户读取的权限
安装 Docker
1.添加 APT 源
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(. /etc/os-release && echo $VERSION_CODENAME) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
参数说明:
arch:指定此源适用于的系统架构 $(...):命令替换,Shell 会先执行括号内的命令,并将其输出结果插入到原位置 dpkg --print-architecture:输出当前系统的架构 signed-by:指定用于验证的 GPG 公钥文件的路径 . /etc/os-release && echo $VERSION_CODENAME:获取系统的发行版代号,比如我系统就是Ubuntu24.04 => Noble
2.更新 APT 缓存
sudo apt update
3.安装 Docker CE
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl status docker
如果看到active (running) 表示 Docker 守护进程已启动
4.添加权限
将 tansea 用户加入 docker 组(可以免密使用Docker)
sudo usermod -aG docker tansea # 重新登录使变更生效 su - tansea
参数说明:
-aG:将用户添加到 docker 用户组中,并且不改变用户当前所属的任何其他组
验证是否可以免 sudo 运行 Docker
docker version
看到有Client和Server的信息就表示生效了
5.配置国内镜像加速
自己找的一些国内镜像网站,如果失效了自行搜索
sudo tee /etc/docker/daemon.json << 'EOF' { "registry-mirrors": [ "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com", "https://docker-0.unsee.tech", "https://docker-registry.nmqu.com", "https://docker.1ms.run", "https://docker.apiba.cn", "https://docker.cattt.net", "https://docker.etcd.fun", "https://dockerpull.pw", "https://hub.amingg.com", "https://hub.mirrorify.net", "https://image.cloudlayer.icu", "https://proxy.vvvv.ee" ], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" } EOF
重启 Docker 生效配置
sudo systemctl daemon-reload sudo systemctl restart docker
测试拉取镜像
docker pull hello-world
应该看到
Using default tag: latest latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:... Status: Downloaded newer image for hello-world:latest
可以再测试一个
docker pull nginx

浙公网安备 33010602011771号