环境
OS : Centos 8, VMware Workstation 16
操作方式: SSH 远程连接
安装
1. 卸载旧版本的 docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. 设置 yum 仓库
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3. 选择指定版本的 docker-ce 和 docker-ce-cli, 并安装
yum list docker-ce --showduplicates | sort -r
yum list docker-ce-cli --showduplicates | sort -r
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin
# 例如: sudo yum install docker-ce-3:24.0.2-1.el8 docker-ce-cli-1:24.0.2-1.el8 containerd.io docker-buildx-plugin docker-compose-plugin
# 如果报 Problem 1: problem with installed package podman-3:4.3.1-2.module_el8.8.0+1254+78119b6e.x86_64 错误
# 可以使用 --allowerasing 参数
# 例如: sudo yum install docker-ce-3:24.0.2-1.el8 docker-ce-cli-1:24.0.2-1.el8 containerd.io docker-buildx-plugin docker-compose-plugin --allowerasing
4. 启动 / 关闭 docker
sudo systemctl enable docker # 设置开机启动
sudo systemctl start docker
5. 为 docker pull 设置代理
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
# 向 http-proxy.conf 写入如下内容
# [Service]
# Environment="HTTP_PROXY=http://10.0.0.1:7890"
# Environment="HTTPS_PROXY=http://10.0.0.1:7890"
# Environment="NO_PROXY=your-registry.com,10.10.10.10,*.example.com"
# 重新加载配置文件
sudo systemctl daemon-reload
sudo systemctl restart docker
# 确认环境变量是否配置正确
sudo systemctl show --property=Environment docker
sudo docker info
6. 验证
sudo docker run hello-world
7. 卸载
sudo yum remove docker-ce # 删除安装包
sudo rm -rf /var/lib/docker # 删除镜像、容器、配置文件等内容