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