docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker hub.docker.com无法访问

docker镜像仓库hub.docker.com无法访问的解决方法

作者:阿贤Linux

最近许多群友都询问为什么无法访问Docker镜像仓库,本文就来介绍一下docker镜像仓库hub.docker.com无法访问的解决方法,感兴趣的可以了解一下

1 介绍dockerhub为什么无法访问

最近许多群友都询问为什么无法访问Docker镜像仓库,于是我也尝试去访问,结果果然无法访问。

请添加图片描述

大家的第一反应就是给墙了,通过ping检测红的很可怕。

请添加图片描述

实际上是DNS被污染了,导致很多用户都无法访问。至于什么是DNS污染,大家可以自行查询,这里主要讲解怎么解决dockerhub无法访问的问题。

请添加图片描述

2 解决办法

由于无法访问,导致我们运维人员和开发者使用docker镜像变得极其不方便,然而我们可以使用下面几种方法来解决这个问题。

2.1 使用魔法

(这里就不展开说了,大家懂的都懂)

2.2 使用国内镜像加速

常见的国内加速服务:

废话不多说,直接上命令

2.2.1 docker配置:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["镜像加速地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# 示例
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://eph8xfli.mirror.aliyuncs.com"]	# 这是博主自己的阿里云镜像加速地址,大家可以更换为自己的
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

阿里云官网也有不同操作系统的操作文档,大家可以自行查阅

https://help.aliyun.com/zh/acr/user-guide/accelerate-the-pulls-of-docker-official-images

请添加图片描述

2.2.2 containerd配置:

包括K8S镜像加速

vim /etc/containerd/config.toml
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
          endpoint = ["https://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"]
          endpoint = ["https://gcr.mirrors.ustc.edu.cn"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"]
          endpoint = ["https://gcr.mirrors.ustc.edu.cn/google-containers/"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"]
          endpoint = ["https://quay.mirrors.ustc.edu.cn"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."ghcr.io"]
          endpoint = ["https://ghcr.dockerproxy.com"]

2.3 使用博主个人镜像仓库

本镜像仓库在阿里云,主要包含K8S相关镜像。如果大家有所需求,可以联系博主增加相关镜像。

镜像每天持续同步更新,目前有80+仓库,包含新版和常用镜像版本。

2.3.1 目前有如下镜像仓库,后续会陆续增加

  docker.elastic.co:
    - elasticsearch/elasticsearch
    - kibana/kibana
    - logstash/logstash
    - beats/filebeat
    - beats/heartbeat
    - beats/packetbeat
    - beats/auditbeat
    - beats/journalbeat
    - beats/metricbeat
    - apm/apm-server
    - app-search/app-search
  quay.io:
    - coreos/flannel
    - ceph/ceph
    - cephcsi/cephcsi
    - csiaddons/k8s-sidecar
    - csiaddons/volumereplication-operator
    - prometheus/prometheus
    - prometheus/alertmanager
    - prometheus/pushgateway
    - prometheus/blackbox-exporter
    - prometheus/node-exporter
    - prometheus-operator/prometheus-config-reloader
    - prometheus-operator/prometheus-operator
    - brancz/kube-rbac-proxy
    - cilium/cilium
    - cilium/operator-generic
    - thanos/thanos
    - cilium/certgen
    - cilium/hubble-relay
    - cilium/hubble-ui-backend
    - cilium/hubble-ui
    - cilium/cilium-etcd-operator
    - cilium/operator
    - cilium/startup-script
    - cilium/clustermesh-apiserver
    - coreos/etcd
    - metallb/speaker
    - frrouting/frr
    - goharbor/nginx-photon
    - goharbor/harbor-portal
    - goharbor/harbor-core
    - goharbor/harbor-jobservice
    - goharbor/registry-photon
    - goharbor/harbor-registryctl
    - goharbor/chartmuseum-photon
    - goharbor/trivy-adapter-photon
    - goharbor/notary-server-photon
    - goharbor/notary-signer-photon
    - goharbor/harbor-db
    - goharbor/redis-photon
    - goharbor/harbor-exporter
  k8s.gcr.io:
    - dns/k8s-dns-node-cache
    - metrics-server/metrics-server
    - kube-state-metrics/kube-state-metrics
    - prometheus-adapter/prometheus-adapter
    - sig-storage/nfs-subdir-external-provisioner
    - sig-storage/csi-node-driver-registrar
    - sig-storage/csi-provisioner
    - sig-storage/csi-resizer
    - sig-storage/csi-snapshotter
    - sig-storage/csi-attacher
    - sig-storage/nfsplugin
  registry.k8s.io:
    - pause
    - etcd
    - conformance
    - kube-proxy
    - kube-apiserver
    - kube-scheduler
    - kube-controller-manager
    - coredns/coredns
    - ingress-nginx/controller
    - ingress-nginx/opentelemetry
    - ingress-nginx/controller-chroot
    - ingress-nginx/kube-webhook-certgen
    - defaultbackend-amd64
    - cpa/cluster-proportional-autoscaler
    - autoscaling/addon-resizer
  gcr.io:
    - kaniko-project/executor
    - google-samples/xtrabackup
    - kubebuilder/kube-rbac-proxy
  docker.io:
    - calico/node
    - calico/typha
    - calico/cni
    - calico/node
    - calico/kube-controllers
    - calico/pod2daemon-flexvol
    - kubesphere/openelb
    - aledbf/kube-keepalived-vip

2.3.2 使用方式

docker.elastic.co/kibana/{image_name}  ==>  registry.cn-hangzhou.aliyuncs.com/waluna/{image_name}
quay.io/csiaddons/{image_name}  ==>  registry.cn-hangzhou.aliyuncs.com/waluna/{image_name}
k8s.gcr.io/{image_name}  ==>  registry.cn-hangzhou.aliyuncs.com/waluna/{image_name}
....

2.3.3 拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/waluna/kube-scheduler:[镜像版本号]
crictl pull registry.cn-hangzhou.aliyuncs.com/waluna/kube-scheduler:[镜像版本号]

3 总结

个人感觉使用魔法最方便,但是很多同学都不会使用魔法。所以大家可以根据自己喜欢的方式去选择使用国内镜像加速(本文2.2)还是博主镜像仓库(本文2.3)。

到此这篇关于docker镜像仓库hub.docker.com无法访问的解决方法的文章就介绍到这了,更多相关docker hub.docker.com无法访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文