docker镜像仓库hub.docker.com无法访问
文章主要内容:
- 介绍dockerhub为什么无法访问
 - 解决办法
 
1 介绍dockerhub为什么无法访问
最近许多群友都询问为什么无法访问Docker镜像仓库,于是我也尝试去访问,结果果然无法访问。

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

实际上是DNS被污染了,导致很多用户都无法访问。至于什么是DNS污染,大家可以自行查询,这里主要讲解怎么解决dockerhub无法访问的问题。
2 解决办法
由于无法访问,导致我们运维人员和开发者使用docker镜像变得极其不方便,然而我们可以使用下面几种方法来解决这个问题。
2.1 使用魔法
(这里就不展开说了,大家懂的都懂)
2.2 使用国内镜像加速
常见的国内加速服务:
- 科大镜像:https://docker.mirrors.ustc.edu.cn
 - 网易:http://hub-mirror.c.163.com
 - 阿里云:https://<你的ID>.mirror.aliyuncs.com
 
废话不多说,直接上命令
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/document_detail/60750.html?spm=a2c4g.348824.0.0.742fa42dEeTNYo 

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:[镜像版本号]
                


















