docker hub 访问不了了,怎么办?

Python七号

共 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,请按照以下步骤操作:

  1. 创建或修改 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
  2. 添加 HTTP_PROXY 环境变量:

    • http-proxy.conf 文件中,添加以下行(将 http://proxy-server:port 替换为你实际的代理设置):

      [Service]
      Environment="HTTP_PROXY=http://proxy-server:port"
    • 如果你还需要配置 HTTPS 代理,可以添加 HTTPS_PROXY=http://proxy-server:port

    • 保存并关闭文件。

  3. 重新加载 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:

  1. 打开 Docker Desktop: 通过点击任务栏(Windows)或菜单栏(Mac)中的 Docker 图标,然后选择“设置”或“偏好设置”。

  2. 转到资源: 在 Windows 上,这直接位于设置下。在 Mac 上,你可能需要首先选择“偏好设置”。

  3. 选择代理: 在“资源”下找到一个“代理”标签。

  4. 配置你的代理: 在提供的字段中输入你的 HTTP 和 HTTPS 代理的 URL。

  5. 应用并重启: 点击“应用 & 重启”保存你的设置。Docker Desktop 将使用这些代理设置进行所有连接。

注意

  • 如果你使用的代理需要认证,可能需要在代理 URL 中包含用户名和密码,如 http://username:password@proxy-server:port
  • 一些公司环境的代理使用自签名证书。如果拉取镜像时出现 x509 证书错误,你可能需要将你公司的 CA 证书添加到 Docker 使用的受信任的根证书列表中,并重启 Docker 以使更改生效。

最后

如何使用代理,可以关注小号【大征哥】获取相关信息,可以直接与Gemini 1.5 pro 模型对话哦。



浏览 40
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报