Docker配置代理的详细步骤记录

 更新时间:2024年08月30日 09:15:44   作者:2401_85480529  
docker是一个流行的容器化平台,它让应用程序可以在操作系统层面上隔离运行,从而提供了更高的可移植性和可靠性,这篇文章主要给大家介绍了关于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配置代理的文章就介绍到这了,更多相关Docker配置代理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解如何解决docker容器无法通过IP访问宿主机问题

    详解如何解决docker容器无法通过IP访问宿主机问题

    这篇文章主要介绍了详解如何解决docker容器无法通过IP访问宿主机问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 使用Docker搭建Java环境的步骤方法

    使用Docker搭建Java环境的步骤方法

    本篇文章主要介绍了使用Docker搭建Java环境的步骤方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • docker create命令的用法说明

    docker create命令的用法说明

    这篇文章主要介绍了docker create命令的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • docker部署Macvlan实现跨主机网络通信的实现

    docker部署Macvlan实现跨主机网络通信的实现

    这篇文章主要介绍了docker部署Macvlan实现跨主机网络通信的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 一文详解如何在Ubuntu系统中安装docker

    一文详解如何在Ubuntu系统中安装docker

    这篇文章主要为大家详细介绍了在Ubuntu操作系统上安装Docker的步骤,以便我们可以开始使用Docker来构建和运行容器化应用程序,希望对大家有所帮助
    2024-03-03
  • 使用Docker容器部署MongoDB并支持远程访问及遇到的坑

    使用Docker容器部署MongoDB并支持远程访问及遇到的坑

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,今天通过本文给大家介绍使用Docker容器部署MongoDB并支持远程访问及遇到的坑,感兴趣的朋友一起看看吧
    2022-07-07
  • Docker镜像与容器的导入导出以及常用命令总结

    Docker镜像与容器的导入导出以及常用命令总结

    Docker是一个开源的容器引擎,基于go语言开发并遵循了apache2.0协议开源,下面这篇文章主要给大家介绍了关于Docker镜像与容器的导入导出以及常用命令总结的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • DOCKERFILE学习及使用注意事项

    DOCKERFILE学习及使用注意事项

    Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。一般的,Dockerfile分为四部分:基础镜像信息、维护者信息、镜像操作指令、容器启动时执行指令
    2017-02-02
  • Docker不同网段下的容器互联的实现

    Docker不同网段下的容器互联的实现

    本文主要介绍了Docker不同网段下的容器互联的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Linux下docker安装mysql8并配置远程连接

    Linux下docker安装mysql8并配置远程连接

    本文主要介绍了Linux下docker安装mysql8并配置远程连接,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论