民工心事 发表于 2024-10-15 14:45:50

修改 Docker 容器的 http_proxy 和 https_proxy

修改 Docker 容器的 http_proxy 和 https_proxy 可以通过几种方式实现。以下是一些常用的方法:

[*] 在运行容器时设置情况变量:
当你启动一个新的容器时,可以使用 -e 选项设置这些情况变量:
docker run -e HTTP_PROXY=http://proxy.example.com:8080 -e HTTPS_PROXY=http://proxy.example.com:8080 your_image

[*] 对于已经运行的容器:
a. 使用 docker exec 下令:
docker exec -it your_container_name /bin/bash
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
留意,这种方法只在当前会话中有用,容器重启后就会失效。
b. 修改容器的 /etc/environment 文件:
docker exec -it your_container_name /bin/bash
echo "HTTP_PROXY=http://proxy.example.com:8080" >> /etc/environment
echo "HTTPS_PROXY=http://proxy.example.com:8080" >> /etc/environment
这种方法在容器重启后仍旧有用。
[*] 在 Dockerfile 中设置:
如果你正在构建自己的镜像,可以在 Dockerfile 中设置这些情况变量:
ENV HTTP_PROXY http://proxy.example.com:8080
ENV HTTPS_PROXY http://proxy.example.com:8080

[*] 使用 Docker Compose:
如果你使用 Docker Compose,可以在 docker-compose.yml 文件中设置情况变量:
version: '3'
services:
your_service:
    image: your_image
    environment:
      - HTTP_PROXY=http://proxy.example.com:8080
      - HTTPS_PROXY=http://proxy.example.com:8080

[*] 修改 Docker 保卫进程的设置:
你可以为 Docker 保卫进程设置全局署理,这会影响全部容器。编辑 /etc/systemd/system/docker.service.d/http-proxy.conf 文件(如果不存在就创建它):

Environment="HTTP_PROXY=http://proxy.example.com:8080"
Environment="HTTPS_PROXY=http://proxy.example.com:8080"
然后重启 Docker 服务:
sudo systemctl daemon-reload
sudo systemctl restart docker

留意事项:


[*]确保使用正确的署理地址和端口。
[*]某些应用程序大概使用小写的情况变量名(http_proxy, https_proxy),你大概需要同时设置大写和小写版本。
[*]如果你的署理需要认证,格式应该是:http://username:password@proxy.example.com:8080

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 修改 Docker 容器的 http_proxy 和 https_proxy