gpt4 book ai didi

docker - 在dockerfile中配置alpine的代理

转载 作者:行者123 更新时间:2023-12-02 19:31:39 32 4
gpt4 key购买 nike

我使用mvn clean package docker:build在机器B中调用dockerfile(docker version 18.03.1-ce):

FROM openjdk:8-jdk-alpine
RUN apk update && apk upgrade && apk add netcat-openbsd && apk add curl

原来:
Step 2/8 : RUN  apk update && apk upgrade && apk add netcat-openbsd && apk add curl

---> Running in 89c9b97b9d75
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.7/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.70c88391.tar.gz: No such file or directory

我发现这是网络问题,机器B通过机器A访问互联网,我尝试在/etc/docker/daemon.json中添加“dns”,在〜/ .docker / config.json中添加“httpProxy”,现在我可以成功运行:
`docker run -it cc2179b8f042`
apk update

但是当我回来使用maven调用ockfile时,它不起作用。因此,如何使Dockfile工作并告诉我这两种情况之间的区别。

最佳答案

似乎您需要在Dockerfile中设置http_proxy。如果您这样做(例如,出于特定的临时原因,例如您要在公司代理后面建立容器),然后不再需要它,我建议您执行以下操作:

RUN export \
http_proxy="http://some.custom.proxy:8080/” \
https_proxy="https://some.custom.proxy:8080/" \
\
&& < E.G. pip install requirements.txt> \
\
&& unset http_proxy https_proxy

您还可以通过调用 ENV在Dockerfile中使用更永久的解决方案,但是请注意,这些持久化的解决方案会持续存在,并且如果在其他地方推送/部署镜像- Reference可能会导致进一步的问题。

关于docker - 在dockerfile中配置alpine的代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50755386/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com