安装 Docker CE
卸载旧版 Docker,确保当前系统不存在其他旧版本
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine
安装 Docker CE
yum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposed -i 's#download.docker.com#mirrors.ustc.edu.cn/docker-ce#' /etc/yum.repos.d/docker-ce.repoyum install -y docker-ce # 同时安装的依赖包有:docker-ce-cli containerd.io
启动 Docker 服务
systemctl start docker
测试
docker run hello-world
更换 Docker Hub 镜像(参考下文)
mkdir -p /etc/dockercat > /etc/docker/daemon.json << EOF{"registry-mirrors": ["https://hub-mirror.c.163.com","https://mirror.baidubce.com"]}EOF
重启服务应用更改
systemctl daemon-reloadsystemctl restart docker
更换镜像源
更换 Docker CE 仓库镜像
可用镜像源
- 腾讯 http://mirrors.tencent.com/docker-ce
- 中科大 https://mirrors.ustc.edu.cn/docker-ce
更换 Docker Hub 镜像缓存
Docker 默认从 https://hub.docker.com/ 仓库下载镜像
参考:
可用镜像源
- 网易 https://hub-mirror.c.163.com/
- 中科大 https://docker.mirrors.ustc.edu.cn
- 七牛 https://reg-mirror.qiniu.com
- 百度 https://mirror.baidubce.com
- 腾讯内部源 https://dockerhub.woa.com/
列举四种方法,推荐直接看第三个。
1)修改服务启动文件(不推荐)
执行以下命令检查 Docker 启动参数是否包含 --registry-mirror 选项
systemctl cat docker | grep -i "ExecStart"
2)修改 Docker 配置文件(不推荐)
参考:容器引擎CCE - 镜像仓库基本操作 | 百度智能云文档
不同系统配置文件路径不统一,可能存在以下路径:
/etc/default/docker/etc/sysconfig/docker
配置方法也不统一,因此也不推荐:
DOCKER_OPTS="--registry-mirror=https://mirror.baidubce.com"OPTIONS='--registry-mirror=https://mirror.baidubce.com'
3)修改 Docker 配置文件(推荐)
- Linux 配置文件:
/etc/docker/daemon.json - Windows 配置文件:
%USERPROFILE%\.docker\daemon.json(建议通过图形界面设置){"registry-mirrors": ["https://hub-mirror.c.163.com","https://mirror.baidubce.com"]}
重启服务
systemctl daemon-reloadsystemctl restart docker
检查返回的配置中是否包含设置的镜像地址以确定是否配置生效
docker info | grep -iA1 "Registry Mirrors"
4)直接在命令行中指定 Docker Hub 仓库地址
docker pull docker.mirrors.ustc.edu.cn/library/logstash
卸载 Docker CE
yum remove -y docker-cerm -fr /var/lib/dockerrm -fr /var/run/dockergroupdel docker
