【问题标题】:AWS ECR endpoint no_proxy issueAWS ECR 端点 no_proxy 问题
【发布时间】:2020-04-17 19:55:37
【问题描述】:

我一直在处理ECR

我创建了一个端点,以便能够在不离开 VPC 的情况下拉取和推送 docker 容器。

我的问题是我在代理后面

我的http-proxy.conf 看起来像这样

[Service]
Environment= "http_proxy=http://x.x.x.x:8080"
Environment= "https_proxy=http://x.x.x.x:8080"
Environment= "no_proxy=.dkr.ecr.us-west2.amazonaws.com"

由于某种原因,当我从ECR 内的一个容器中执行docker pull 时,它真的很慢,因为它使用的是proxy 而不是non-proxy

如果我删除前两行 httphttps 它真的很快。

有什么想法吗?

【问题讨论】:

    标签: amazon-web-services docker proxy docker-registry amazon-ecr


    【解决方案1】:

    好的,几天后,我发现了问题;我必须将 s3 端点添加到 no_proxy。看起来当我因为 s3 无法访问而进行 docker pull 时,它离开了网络然后又回到了网络。现在我可以在 VPC 中拉取图像了!!

    [Service]
    Environment= "http_proxy=http://x.x.x.x:8080"
    Environment= "https_proxy=http://x.x.x.x:8080"
    Environment= "no_proxy=.dkr.ecr.us-east-2.amazonaws.com,.s3.us-east-2.amazonaws.com"
    

    【讨论】:

      【解决方案2】:

      您可以使用*为任何特定网址启用noProxy

      根据docker man

      Configure Docker to use a proxy server | Docker Documentation

      • 在 Docker 客户端上,在启动容器的用户的主目录中创建或编辑文件~/.docker/config.json。添加如下JSON,必要时将代理类型替换为httpsProxyftpProxy,并替换代理服务器的地址和端口。您可以同时配置多个代理服务器。

        您可以选择通过将noProxy 键设置为一个或多个以逗号分隔的 IP 地址或主机来排除主机或范围通过代理服务器。支持使用* 字符作为通配符,如本示例所示。

        {
         "proxies":
         {
           "default":
           {
             "httpProxy": "http://127.0.0.1:3001",
             "httpsProxy": "http://127.0.0.1:3001",
             "noProxy": "*.test.example.com,.example2.com"
           }
         }
        }
        

        保存文件。

      • 当您创建或启动新容器时,会在容器内自动设置环境变量。

      【讨论】:

      • 我只想拉出我在 ECR 中的容器.. docker pull dkr.ecr.us-east-2.amazonaws.com/whaever:latest 要通过 no_proxy,我尝试添加 ~ /.docker/config.json 但它不起作用
      • 嗨。编辑 config.json 后是否创建了容器?
      猜你喜欢
      • 2019-06-02
      • 2019-07-24
      • 1970-01-01
      • 2023-03-16
      • 2019-11-10
      • 1970-01-01
      • 2018-11-19
      • 2021-09-28
      • 1970-01-01
      相关资源
      最近更新 更多