“DockerHub镜像加速和代理”的版本间的差异
跳到导航
跳到搜索
(→2024) |
(→2024) |
||
(未显示同一用户的7个中间版本) | |||
第2行: | 第2行: | ||
<pre> | <pre> | ||
− | #Aug 22 2024 最新进度 不用科学上网 也可用上自己的aliyun 镜像加速器 | + | #直接手工指定image |
+ | m.daocloud.io/docker.io/library/ | ||
+ | |||
+ | #Aug 22 2024 最新进度 不用科学上网 ,也可用上自己的aliyun 镜像加速器 (这个试用了好像还要proxy) | ||
+ | |||
+ | sudo mkdir -p /etc/docker | ||
+ | sudo tee /etc/docker/daemon.json <<-'EOF' | ||
+ | { | ||
+ | "registry-mirrors": ["https://747qfuir.mirror.aliyuncs.com"] | ||
+ | } | ||
+ | EOF | ||
+ | sudo systemctl daemon-reload | ||
+ | sudo systemctl restart docker | ||
+ | |||
+ | |||
+ | |||
cat /etc/docker/ | cat /etc/docker/ | ||
− | daemon.json key.json | + | daemon.json key.json |
+ | |||
+ | #这个试过可用 | ||
root@myxps:~# cat /etc/docker/daemon.json | root@myxps:~# cat /etc/docker/daemon.json | ||
{ | { | ||
第78行: | 第95行: | ||
https://github.com/DaoCloud/public-image-mirror | https://github.com/DaoCloud/public-image-mirror | ||
+ | |||
+ | =2024 k8s = | ||
+ | <pre> | ||
+ | hub.docker.com 被ban了 | ||
+ | 现在用的办法是指定mirrors 让他不去默认的hub.docker 实在不行再proxy 但是不是好办法 | ||
+ | |||
+ | |||
+ | tmp# kubectl describe pod nginx-deployment-699bfcdcb6-pxm84 | ||
+ | Name: nginx-deployment-699bfcdcb6-pxm84 | ||
+ | Namespace: default | ||
+ | |||
+ | ormal BackOff 5m22s (x51 over 24m) kubelet Back-off pulling image "nginx:1.7.9" | ||
+ | Warning Failed 29s kubelet (combined from similar events): Failed to pull image "nginx:1.7.9": rpc error: code = DeadlineExceeded desc = failed to pull and unpack image "docker.io/library/nginx:1.7.9": failed to copy: httpReadSeeker: failed open: failed to do request: Get "https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/d1/d15444df170ac58f886d8efeed1bf901725cabba200d4670a27e3bf65f403b69/data?verify=1724662711-vfLhyfnooY0QZNB5SGYYIVBHQ0I%!D(MISSING)": dial tcp 157.240.13.8:443: i/o timeout | ||
+ | |||
+ | 指定mirrors image: 不写默认是去官网 不行 | ||
+ | cat deployment-nginx-3.yaml | ||
+ | apiVersion: apps/v1 # API版本 | ||
+ | kind: Deployment # 资源类型 | ||
+ | metadata: # 资源元数据 | ||
+ | name: nginx-32 # 资源名称 | ||
+ | spec: # 资源规格 | ||
+ | replicas: 2 # 创建Pod的副本数量 | ||
+ | selector: # 标签选择器,用于选择Pod | ||
+ | matchLabels: # 选择标签,选择标签为“app=web3”的Pod | ||
+ | app: nginx-32 | ||
+ | template: # 定义Pod模板 | ||
+ | metadata: # Pod元数据 | ||
+ | labels: # Pod标签,与上面选择标签定义的要保持一致 | ||
+ | app: nginx-32 | ||
+ | spec: # Pod规格 | ||
+ | containers: # Pod容器配置 | ||
+ | - image: m.daocloud.io/docker.io/library/nginx | ||
+ | #- image: hub.uuuadc.top/library/nginx-alpine # 容器镜像地址 | ||
+ | name: web # 容器名称 | ||
+ | |||
+ | |||
+ | #proxy | ||
+ | containerd 配置代理 | ||
+ | |||
+ | containerd 的配置一般位于 /etc/containerd/config.toml 下,service 文件位于:/etc/systemd/system/containerd.service 配置 Proxy 可以通过 service 环境变量方式配置,具体如下: | ||
+ | |||
+ | 创建或编辑文件:/etc/systemd/system/containerd.service.d/http-proxy.conf | ||
+ | |||
+ | # 创建 containerd.service.d 目录 | ||
+ | $ mkdir /etc/systemd/system/containerd.service.d/ | ||
+ | |||
+ | # 创建或编辑文件 | ||
+ | $ cat > /etc/systemd/system/containerd.service.d/http-proxy.conf <<-EOF | ||
+ | [Service] | ||
+ | Environment="HTTP_PROXY=http://127.0.0.1:7890" | ||
+ | Environment="HTTPS_PROXY=http://127.0.0.1:7890" | ||
+ | Environment="NO_PROXY=noproxy_address>" | ||
+ | EOF | ||
+ | |||
+ | # 重启containerd | ||
+ | $ systemctl daemon-reload | ||
+ | $ systemctl restart containerd | ||
+ | |||
+ | </pre> | ||
+ | https://h2c.tech/p/docker%E5%92%8Ccontainerd%E5%A2%9E%E5%8A%A0%E4%BB%A3%E7%90%86/ | ||
=old= | =old= | ||
第122行: | 第199行: | ||
</pre> | </pre> | ||
=see also= | =see also= | ||
+ | https://docs.docker.com/engine/daemon/proxy/ | ||
[https://stackoverflow.com/questions/71048951/docker-error-pulling-image-configuration-get-https-production-cloudflare-doc docker: error pulling image configuration: Get https://production.cloudflare.docker.com Forbidden] | [https://stackoverflow.com/questions/71048951/docker-error-pulling-image-configuration-get-https-production-cloudflare-doc docker: error pulling image configuration: Get https://production.cloudflare.docker.com Forbidden] |
2024年9月22日 (日) 08:58的最新版本
2024
#直接手工指定image m.daocloud.io/docker.io/library/ #Aug 22 2024 最新进度 不用科学上网 ,也可用上自己的aliyun 镜像加速器 (这个试用了好像还要proxy) sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://747qfuir.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker cat /etc/docker/ daemon.json key.json #这个试过可用 root@myxps:~# cat /etc/docker/daemon.json { "registry-mirrors": [ "https://docker.m.daocloud.io" ] } root@myxps:~# docker pull nginx:mainline-alpine3.20-slim mainline-alpine3.20-slim: Pulling from library/nginx c6a83fedfae6: Already exists 7f5898476db7: Pull complete 41c49cbde6a6: Pull complete 9da224fdd412: Pull complete Digest: sha256:2be9e698d136d4d9be33d1852b1259bc1b80e20aed0c964cbcd6086da7fad5c7 Status: Downloaded newer image for nginx:mainline-alpine3.20-slim docker.io/library/nginx:mainline-alpine3.20-slim #Aug 19 2024 原因在此 The Forbidden error occurs if the url is is not accessible, in this case https://production.cloudflare.docker.com/. All the below urls have to be whitelisted behind a proxy / firewall. https://auth.docker.io https://registry-1.docker.io https://production.cloudflare.docker.com 2024 要login hubdocker 可能得代理才行 # docker pull redis:7.4-alpine 7.4-alpine: Pulling from library/redis c6a83fedfae6: Pulling fs layer 9d56419430d6: Pulling fs layer 9d36ad935203: Pulling fs layer 0085610e8e12: Waiting 6c8161c30f9c: Waiting ba03bb8a47bb: Waiting 4f4fb700ef54: Waiting 5d7c7efa14ca: Waiting error pulling image configuration: Get "https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/da/da7b3f96549f51221ac02ad16251b3d0df33bbc4490971b48348fc87eadc4a77/data?verify=1723966233-CNOT0xo1C1m2mDPPN2J1uvTx5ZU%3D": dial tcp 31.13.94.23:443: i/o timeout 配置mirrors 改了dns 也是这样 代理 是最快的办法 可能不是最好的 cat /etc/systemd/system/docker.service.d/http-proxy.conf [Service] Environment="HTTP_PROXY=http://localhost:8080" Environment="HTTPS_PROXY=http://localhost:8080" docker pull redis:7.4-alpine 7.4-alpine: Pulling from library/redis c6a83fedfae6: Pull complete 9d56419430d6: Pull complete 9d36ad935203: Pull complete 0085610e8e12: Pull complete 6c8161c30f9c: Pull complete ba03bb8a47bb: Pull complete 4f4fb700ef54: Pull complete 5d7c7efa14ca: Pull complete Digest: sha256:eaea8264f74a95ea9a0767c794da50788cbd9cf5223951674d491fa1b3f4f2d2 Status: Downloaded newer image for redis:7.4-alpine
从 Docker Hub 拉取镜像受阻?这些解决方案帮你轻松应对
https://github.com/DaoCloud/public-image-mirror
2024 k8s
hub.docker.com 被ban了 现在用的办法是指定mirrors 让他不去默认的hub.docker 实在不行再proxy 但是不是好办法 tmp# kubectl describe pod nginx-deployment-699bfcdcb6-pxm84 Name: nginx-deployment-699bfcdcb6-pxm84 Namespace: default ormal BackOff 5m22s (x51 over 24m) kubelet Back-off pulling image "nginx:1.7.9" Warning Failed 29s kubelet (combined from similar events): Failed to pull image "nginx:1.7.9": rpc error: code = DeadlineExceeded desc = failed to pull and unpack image "docker.io/library/nginx:1.7.9": failed to copy: httpReadSeeker: failed open: failed to do request: Get "https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/d1/d15444df170ac58f886d8efeed1bf901725cabba200d4670a27e3bf65f403b69/data?verify=1724662711-vfLhyfnooY0QZNB5SGYYIVBHQ0I%!D(MISSING)": dial tcp 157.240.13.8:443: i/o timeout 指定mirrors image: 不写默认是去官网 不行 cat deployment-nginx-3.yaml apiVersion: apps/v1 # API版本 kind: Deployment # 资源类型 metadata: # 资源元数据 name: nginx-32 # 资源名称 spec: # 资源规格 replicas: 2 # 创建Pod的副本数量 selector: # 标签选择器,用于选择Pod matchLabels: # 选择标签,选择标签为“app=web3”的Pod app: nginx-32 template: # 定义Pod模板 metadata: # Pod元数据 labels: # Pod标签,与上面选择标签定义的要保持一致 app: nginx-32 spec: # Pod规格 containers: # Pod容器配置 - image: m.daocloud.io/docker.io/library/nginx #- image: hub.uuuadc.top/library/nginx-alpine # 容器镜像地址 name: web # 容器名称 #proxy containerd 配置代理 containerd 的配置一般位于 /etc/containerd/config.toml 下,service 文件位于:/etc/systemd/system/containerd.service 配置 Proxy 可以通过 service 环境变量方式配置,具体如下: 创建或编辑文件:/etc/systemd/system/containerd.service.d/http-proxy.conf # 创建 containerd.service.d 目录 $ mkdir /etc/systemd/system/containerd.service.d/ # 创建或编辑文件 $ cat > /etc/systemd/system/containerd.service.d/http-proxy.conf <<-EOF [Service] Environment="HTTP_PROXY=http://127.0.0.1:7890" Environment="HTTPS_PROXY=http://127.0.0.1:7890" Environment="NO_PROXY=noproxy_address>" EOF # 重启containerd $ systemctl daemon-reload $ systemctl restart containerd
https://h2c.tech/p/docker%E5%92%8Ccontainerd%E5%A2%9E%E5%8A%A0%E4%BB%A3%E7%90%86/
old
国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务。 配置加速地址
Ubuntu 16.04+、Debian 8+、CentOS 7+
sudo mkdir -p /etc/docker #下面这几个已被下掉 可能要找新的才行 sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://1nj0zren.mirror.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn", "http://f1361db2.m.daocloud.io", "https://registry.docker-cn.com" ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
查看
docker info Experimental: false Insecure Registries: 127.0.0.0/8 Registry Mirrors: https://1nj0zren.mirror.aliyuncs.com/ https://docker.mirrors.ustc.edu.cn/ http://f1361db2.m.daocloud.io/ https://registry.docker-cn.com/ Live Restore Enabled: false WARNING: No swap limit support
see also
https://docs.docker.com/engine/daemon/proxy/
docker: error pulling image configuration: Get https://production.cloudflare.docker.com Forbidden
Docker hub 被墙替代方案 / 在中国大陆通过Cloudflare Workers代理访问Docker Hub