修改 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
相关推荐
凯子坚持 c6 小时前
Docker网络架构深度解析:从原理到实战
网络·docker·架构
java_logo7 小时前
Apache IoTDB Docker 容器化部署指南:从入门到生产环境实践
docker·容器·apache·iotdb·iotdb部署教程·iotdb部署文档·docker部署iotdb
处女座_三月8 小时前
kubectl 命令行更新项目版本号
docker·容器·kubernetes
Cat God 0078 小时前
基于Docker的MySQL 主从复制(读写分离)
mysql·docker·容器
m0_474606789 小时前
Linux安装docker教程
linux·运维·docker
Jewel Q9 小时前
QEMU、KVM、Docker、K8s(Kubernetes)
docker·容器·kubernetes
学Linux的语莫10 小时前
prometheus、grafana的docker搭建
docker·容器·prometheus
lisanmengmeng10 小时前
zentao的prod环境升级(一)
linux·运维·数据库·docker·容器·禅道
kkoral10 小时前
单机docker部署的redis sentinel,使用python调用redis,报错
redis·python·docker·sentinel
小阿宁的猫猫12 小时前
CSRF漏洞的原理、防御和比赛中的运用
安全·http·xss·csrf