【问题标题】:Build docker image on windows | proxy issue在windows上构建docker镜像|代理问题
【发布时间】:2021-01-18 15:04:26
【问题描述】:

我正在尝试从 docker 容器中安装 curl,但失败并出现以下错误,我尝试设置代理 - 不行

尝试的步骤:

  • 使用 Dockerfile 构建 docker

  • docker 使用构建参数 HTTP_PROXY 构建

  • docker 登录到 repo,然后尝试构建映像 - 不行

  • 使用 env 代理更新 config.json 文件 - 不行

  • 使用不同的代理

  • 试图在 Windows 电脑上刷新 DNS

  • docker build 传递 env 上下文

  • 更改 docker 桌面设置 对于 Web Server 和 Secure Web Server,输入:proxy

  • 绕过代理设置,输入 localhost - 应用 & 重启 docker 桌面 - 不行

请进一步告知-谢谢

$ docker run -ti --env HTTPS_PROXY="" alpine:latest - 有效,我可以进入。

# apk add --no-cache curl 
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz 
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.13/main: Permission denied 
fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz 
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.13/community: temporary error (try again later) 
ERROR: unable to select packages: 
  curl (no such package): 
    required by: world[curl]

【问题讨论】:

    标签: docker curl containers alpine


    【解决方案1】:

    下载证书:example.crt

    将example.crt复制到容器内的/etc/ssl/certs/example.crt

    将example.crt的内容添加到/etc/ssl/certs/ca-certificates.crt

    cat /etc/ssl/certs/example.crt >> /etc/ssl/certs/ca-certificates.crt
    

    将环境 HTTPS_PROXY 变​​量设置为 http://{proxy}:{port}

    export HTTPS_PROXY=http://{proxy}:{port}
    

    运行 apk 更新或从外部资源安装其他包

    Dockerfile

     FROM alpine:latest
    
     # This could also be passed as a build argument
     ENV HTTPS_PROXY=http://{proxy}:{port}
    
     COPY example.crt /etc/ssl/certs/example.crt
     RUN cat /etc/ssl/certs/example.crt >> /etc/ssl/certs/ca-certificates.crt
    
     RUN apk update
    

    这解决了问题。

    【讨论】:

      猜你喜欢
      • 2019-01-15
      • 1970-01-01
      • 2020-10-06
      • 2016-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-03
      • 1970-01-01
      相关资源
      最近更新 更多