docker hub 访问不了了,怎么办?
共 2286字,需浏览 5分钟
·
2024-06-27 07:00
作为技术人员,有两个必备的能力,第一就是英文要好,如果你不懂英文,那么技术是很难提升的,因为一手的资料都是英文,而中文资料基本都是搬运,既然是搬运,那就存在误差,有时就是坑,所以学技术,直接就从英文文档开始学习。
第二就是会使用代理,如果你不懂代理,英语再好也是没有用的,因为你几乎找不到优质的英文资料,也很难找到安全而全面的官方 docker 镜像(比如 https://hub.docker.com/)。
如果有了代理,那么就可以让 docker 通过代理服务器拉取镜像。你可以通过下面的方法进行设置:
首先,我们需要需要为 Docker 守护进程设置 HTTP 代理。根据你的操作系统以及你是在使用 Docker Desktop 还是 Docker Engine,配置有些许不同。以下是如何在不同环境中进行设置的方法:
Docker Engine 在 Linux 上
对于 Linux 系统上的 Docker Engine,请按照以下步骤操作:
-
创建或修改 systemd Docker 服务文件:
-
首先,为 Docker 服务覆写创建一个目录:
sudo mkdir -p /etc/systemd/system/docker.service.d
-
然后,在该目录中创建一个名为
http-proxy.conf
的文件来指定 HTTP 代理设置:sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
-
添加 HTTP_PROXY 环境变量:
-
在
http-proxy.conf
文件中,添加以下行(将http://proxy-server:port
替换为你实际的代理设置):[Service]
Environment="HTTP_PROXY=http://proxy-server:port" -
如果你还需要配置 HTTPS 代理,可以添加
HTTPS_PROXY=http://proxy-server:port
。 -
保存并关闭文件。
-
重新加载 systemd 守护进程,重启 Docker,并验证配置:
-
重新加载 systemd 守护进程:
sudo systemctl daemon-reload
-
重启 Docker 服务:
sudo systemctl restart docker
-
验证代理配置是否已应用于 Docker 服务:
systemctl show --property=Environment docker
Docker Desktop(Windows 或 Mac)
对于 Windows 或 Mac 上的 Docker Desktop:
-
打开 Docker Desktop: 通过点击任务栏(Windows)或菜单栏(Mac)中的 Docker 图标,然后选择“设置”或“偏好设置”。
-
转到资源: 在 Windows 上,这直接位于设置下。在 Mac 上,你可能需要首先选择“偏好设置”。
-
选择代理: 在“资源”下找到一个“代理”标签。
-
配置你的代理: 在提供的字段中输入你的 HTTP 和 HTTPS 代理的 URL。
-
应用并重启: 点击“应用 & 重启”保存你的设置。Docker Desktop 将使用这些代理设置进行所有连接。
注意
-
如果你使用的代理需要认证,可能需要在代理 URL 中包含用户名和密码,如 http://username:password@proxy-server:port
。 -
一些公司环境的代理使用自签名证书。如果拉取镜像时出现 x509 证书错误,你可能需要将你公司的 CA 证书添加到 Docker 使用的受信任的根证书列表中,并重启 Docker 以使更改生效。
最后
如何使用代理,可以关注小号【大征哥】获取相关信息,可以直接与Gemini 1.5 pro 模型对话哦。