Docker配置代理的详细步骤记录
前言
在大多数情况下,Docker 不会自动使用系统代理设置。你需要明确地为 Docker 配置代理。如果只设置了系统代理而没有在 Docker 中设置代理,Docker 可能无法通过代理访问网络资源。这是因为 Docker 容器和守护进程运行在一个隔离的环境中,默认情况下不会继承主机系统的代理设置。
PS:
守护进程(Daemon)是一种在后台运行的服务,通常不与用户直接交互。
Docker 守护进程 dockerd 负责管理 Docker 容器的生命周期,包括创建、运行、停止和删除容器。它还处理容器镜像的拉取和存储。(例如docker pull)。
如何确认 Docker 是否使用代理
你可以通过以下步骤来确认和配置 Docker 使用代理:
1. 检查系统代理设置
首先,确认你在系统中正确配置了代理。例如,在 Linux 上,你可以在 ~/.bashrc 或 ~/.bash_profile 中设置代理:
export HTTP_PROXY=127.0.0.1:8080 export HTTPS_PROXY=127.0.0.1:8080 export NO_PROXY=localhost,127.0.0.1
2. 配置 Docker 使用代理
创建或编辑 Docker 配置文件
在 Docker 主机上,编辑或创建 /etc/systemd/system/docker.service.d/http-proxy.conf 文件。
sudo mkdir -p /etc/systemd/system/docker.service.d sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf
在文件中添加代理配置:
[Service] Environment="HTTP_PROXY=127.0.0.1:8080" Environment="HTTPS_PROXY=127.0.0.1:8080" Environment="NO_PROXY=localhost,127.0.0.1"
重新加载系统守护进程并重启 Docker
sudo systemctl daemon-reload sudo systemctl restart docker
3. 验证 Docker 代理配置
检查 Docker 信息
你可以运行以下命令来确认 Docker 是否使用了代理设置:
docker info | grep -i proxy
测试拉取镜像
尝试从 Docker Hub 或其他注册表中拉取镜像,确保代理配置工作正常:
docker pull busybox
4. 配置 Docker Compose 使用代理
如果使用 Docker Compose,还需要确保 Docker Compose 使用代理。可以在 Docker Compose 文件中添加环境变量,或者在运行 Docker Compose 命令时指定代理:
version: '3'
services:
web:
image: nginx
environment:
- HTTP_PROXY=http://proxy.example.com:8080
- HTTPS_PROXY=https://proxy.example.com:8080
- NO_PROXY=localhost,127.0.0.1
或者在命令行中运行 Docker Compose:
HTTP_PROXY=http://proxy.example.com:8080 HTTPS_PROXY=https://proxy.example.com:8080 NO_PROXY=localhost,127.0.0.1 docker-compose up
总结
虽然系统代理设置可以影响一些系统级别的工具和应用,但 Docker 运行在一个隔离的环境中,默认情况下不会继承系统的代理设置。因此,需要显式地为 Docker 配置代理。通过上述步骤配置和验证 Docker 的代理设置,可以确保 Docker 正确通过代理访问网络资源。
上一篇:docker-compose:未找到命令的检查步骤和修复
栏 目:其它服务器
本文标题:Docker配置代理的详细步骤记录
本文地址:https://zz.feitang.co/server/28371.html
您可能感兴趣的文章
- 01-12Docker部署rabbitmq遇到的两个问题
- 01-12最新虚拟机VMware 14安装教程
- 01-12使用docker compose安装harbor私有仓库的详细教程
- 01-12Windows下Docker安装各种软件的详细过程
- 01-12seata docker 高可用部署的详细介绍
- 01-12浅谈Tomcat多层容器的设计
- 01-12Gogs+Jenkins+Docker 自动化部署.NetCore的方法步骤
- 01-12解决vscode docker插件docker.socket权限问题
- 01-12Docker中运行PostgreSQL并推荐几款连接工具
- 01-12Docker核心原理之 Cgroup详解


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-23linux中ftp无法访问怎么办
- 12-11docker存储目录迁移示例教程
- 12-10docker start启动容器后仍然exit状态的解决
- 12-10Linux下如何安装Logstash
- 12-05Docker安装Jenkins全过程
- 01-05Shell脚本去重的几种方法实例
- 12-22kvm虚拟机配置NAT端口转发的实现方法
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法




