编辑
2024-06-19
Docker
00

目录

配置Docker镜像源
检查配置是否生效
重启docker服务
拉取镜像测试
镜像库可用性检查

Docker镜像拉取失败

由于某些原因,Docker Hub官方仓库在国内已经无法拉取,如果是国内网络环境,可配置国内镜像使用,从而解决Docker镜像拉取失败或缓慢问题

image.png

配置Docker镜像源

sh
# 创建目录 sudo mkdir -p /etc/docker # 写入镜像配置 sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://dockerhub.azk8s.cn", "https://mirror.ccs.tencentyun.com", "https://registry.cn-hangzhou.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn", "https://docker.m.daocloud.io", "https://noohub.ru", "https://huecker.io", "https://dockerhub.timeweb.cloud" ] } EOF # 重启docker服务 sudo systemctl daemon-reload sudo systemctl restart docker

注:镜像地址建议设置2个以上,因为部分镜像可能更新不及时,导致拉取不到最新tag,但也不宜设置过多,不然反而影响性能

如果已经存在/etc/docker/daemon.json这个配置文件,手动复制下面的镜像地址加如到配置中

sh
{ "registry-mirrors": [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://dockerhub.azk8s.cn", "https://mirror.ccs.tencentyun.com", "https://registry.cn-hangzhou.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn", "https://docker.m.daocloud.io", "https://noohub.ru", "https://huecker.io", "https://dockerhub.timeweb.cloud" ] }

检查配置是否生效

输入 docker info 命令,可以看到“Registry Mirrors”地址列表,说明设置成功了,如下图:

image.png

重启docker服务

sh
sudo systemctl daemon-reload sudo systemctl restart docker

拉取镜像测试

sh
docker pull zhayujie/chatgpt-on-wechat

image.png

镜像库可用性检查

sh
#!/bin/bash # 使用 grep 和 sed 来提取镜像源 mirrors=$(grep -o '"https://[^"]*\|http://[^"]*' /etc/docker/daemon.json) # 检查是否找到镜像源 if [ -z "$mirrors" ]; then echo "No mirrors found in /etc/docker/daemon.json" exit 1 fi # 测试每个镜像源 echo "Found mirrors, starting tests..." echo "----------------------------------------" while IFS= read -r mirror; do # 移除引号 mirror=$(echo $mirror | sed 's/"//g') echo "Testing $mirror" response=$(curl -I -m 10 -o /dev/null -s -w "HTTP Status: %{http_code}\nTime: %{time_total}s\n" $mirror) if echo "$response" | grep -q "HTTP Status: 200"; then echo "$response" echo "Mirror $mirror is working" else echo "$response" echo "Mirror $mirror is not working" fi echo "----------------------------------------" done <<< "$mirrors"

image.png

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Golovin

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!