修改 Docker 容器的 http_proxy 和 https_proxy

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

  1. 在运行容器时设置环境变量:

    当你启动一个新的容器时,可以使用 -e 选项设置这些环境变量:

    复制代码
    docker run -e HTTP_PROXY=http://proxy.example.com:8080 -e HTTPS_PROXY=http://proxy.example.com:8080 your_image
  2. 对于已经运行的容器:

    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

    这种方法在容器重启后仍然有效。

  3. 在 Dockerfile 中设置:

    如果你正在构建自己的镜像,可以在 Dockerfile 中设置这些环境变量:

    复制代码
    ENV HTTP_PROXY http://proxy.example.com:8080
    ENV HTTPS_PROXY http://proxy.example.com:8080
  4. 使用 Docker Compose:

    如果你使用 Docker Compose,可以在 docker-compose.yml 文件中设置环境变量:

    yaml 复制代码
    version: '3'
    services:
      your_service:
        image: your_image
        environment:
          - HTTP_PROXY=http://proxy.example.com:8080
          - HTTPS_PROXY=http://proxy.example.com:8080
  5. 修改 Docker 守护进程的配置:

    你可以为 Docker 守护进程设置全局代理,这会影响所有容器。编辑 /etc/systemd/system/docker.service.d/http-proxy.conf 文件(如果不存在就创建它):

    复制代码
    [Service]
    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
相关推荐
IT成长日记3 小时前
【Docker基础】Docker数据持久化与卷(Volume)介绍
运维·docker·容器·数据持久化·volume·
热爱生活的猴子3 小时前
阿里云服务器正确配置 Docker 国内镜像的方法
服务器·阿里云·docker
FrankYoou7 小时前
Jenkins 与 GitLab CI/CD 的核心对比
java·docker
隆里卡那唔7 小时前
在dify中通过http请求neo4j时为什么需要将localhost变为host.docker.internal
http·docker·neo4j
疯子的模样7 小时前
Docker 安装 Neo4j 保姆级教程
docker·容器·neo4j
charlee447 小时前
nginx部署发布Vite项目
nginx·性能优化·https·部署·vite
~山有木兮8 小时前
LiteHub中间件之限流实现
网络·http·中间件
游戏开发爱好者89 小时前
iOS App首次启动请求异常调试:一次冷启动链路抓包与初始化流程修复
websocket·网络协议·tcp/ip·http·网络安全·https·udp
2501_915106329 小时前
频繁迭代下完成iOS App应用上架App Store:一次快速交付项目的完整回顾
websocket·网络协议·tcp/ip·http·网络安全·https·udp
Lpy256911 小时前
Docker Desktop 安装到D盘(包括镜像下载等)+ 汉化
运维·docker·容器