Docker 设置代理的三种方法(2024年12月19日亲自测试)

Docker 设置代理的三种方法

在 Docker 中设置代理是非常常见的需求,尤其是在某些需要通过代理访问外部资源的网络环境下。本文将介绍三种配置 Docker 使用代理的常见方法:通过 daemon.json 配置镜像加速器、通过 daemon.json 配置 HTTP/HTTPS 代理、以及通过 docker.service 配置代理。

方式一 配置 daemon.json 镜像加速器

通过修改 Docker 的配置文件 daemon.json 来配置镜像加速器,可以加速 Docker 镜像的拉取速度,尤其是在国内环境下。操作步骤如下:

  1. 编辑 /etc/docker/daemon.json 文件:

    sudo vim /etc/docker/daemon.json
    
  2. 添加镜像加速器配置:

    {"registry-mirrors": ["https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https://ueo0uggy.mirror.aliyuncs.com","https://docker.m.daocloud.io","https://cf-workers-docker-io-apl.pages.dev","http://95.169.25.181"]
    }
    
  3. 保存并退出编辑器,然后重启 Docker 服务:

    sudo systemctl restart docker
    

您可以通过 docker info 命令查看当前 Docker 配置,包括是否成功加载了镜像加速器。

docker info | grep -i 'Registry Mirrors'

如果配置成功,您会看到类似以下的输出:

Registry Mirrors:https://hub-mirror.c.163.comhttps://docker.mirrors.ustc.edu.cnhttps://ueo0uggy.mirror.aliyuncs.comhttps://docker.m.daocloud.iohttps://cf-workers-docker-io-apl.pages.devhttp://95.169.25.181

这表示镜像加速器已经成功配置并生效。

  1. 拉取镜像进行测试

另一种验证方法是通过拉取一个镜像来检查是否使用了镜像加速器。您可以尝试拉取一个常见的 Docker 镜像,例如 hello-world

docker pull hello-world

如果您配置了国内的镜像加速器,并且能够快速完成镜像拉取,那么镜像加速器已经生效。如果拉取速度较慢,可能说明加速器没有生效,您可以再次检查配置或网络环境。

方式二 配置 daemon.json HTTP/HTTPS 代理

如果需要通过代理访问 Docker 镜像或其他网络资源,可以通过修改 daemon.json 配置 HTTP 和 HTTPS 代理。以下是配置步骤:

  1. 编辑 /etc/docker/daemon.json 文件:

    sudo vim /etc/docker/daemon.json
    
  2. 配置 HTTP 和 HTTPS 代理:

    {"proxies": {"http-proxy": "http://127.0.0.1:11234","https-proxy": "http://127.0.0.1:11234"}
    }
    
  3. 保存并退出编辑器,重启 Docker 服务:

    sudo systemctl restart docker
    
  4. 验证代理配置是否生效:

    docker info | grep -A 1 ' HTTP Proxy'
    

    输出结果应显示:

    WARNING: bridge-nf-call-iptables is disabled
    HTTP Proxy: http://127.0.0.1:11234
    HTTPS Proxy: http://127.0.0.1:11234
    WARNING: bridge-nf-call-ip6tables is disabled
    

方式三 配置 docker.service 代理

另一种配置代理的方法是直接在 Docker 服务的启动配置中设置代理。通过编辑 docker.service 文件来配置 HTTP 和 HTTPS 代理。

配置步骤:

  1. 查找 docker.service 文件的位置:

    systemctl status docker
    

    输出中的 Loaded 行会显示 docker.service 的路径,例如:

    Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
    
  2. 编辑 docker.service 文件,在 [Service] 部分添加代理环境变量:

    sudo vim /lib/systemd/system/docker.service
    
  3. [Service] 部分添加如下内容:

    [Service]
    Environment="HTTP_PROXY=http://127.0.0.1:8490/"
    Environment="HTTPS_PROXY=http://127.0.0.1:8490/"
    
  4. 保存并退出编辑器,重载 docker.service 配置并重启 Docker 服务:

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
  5. 如果需要查看 Docker 启动日志,可以使用以下命令:

    sudo journalctl -u docker.service
    

通过这三种方法,您可以轻松地为 Docker 配置代理,帮助您更好地管理镜像拉取和容器网络访问。选择适合您的方式进行配置,以便在使用 Docker 时更加高效、便捷。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/890182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【mysql】1205 -Lock wait timeout exceeded; try restarting transaction

问题: mysql8执行SQL提示下面错误: 1205 -Lock wait timeout exceeded; try restarting transaction 1205-超过锁定等待超时;尝试重新启动事务 可能的原因: 事务冲突:多个事务同时尝试修改同一行数据,导…

android 登录界面编写

1、登录页面实现内容 1.实现使用两个EditText输入框输入用户名和密码。 2.使用CheckBox控件记住密码功能。 3.登录时候,验证用户名和密码是否为空。 4.当前CheckBox控件记住密码勾上时,使用SharedPreferences存储用户名和密码。 5.登录时候使用Prog…

将4G太阳能无线监控的视频接入电子监控大屏,要考虑哪些方面?

随着科技的飞速发展,4G太阳能无线监控系统以其独特的优势在远程监控领域脱颖而出。这种系统结合了太阳能供电的环保特性和4G无线传输的便捷性,为各种环境尤其是无电或电网不稳定的地区提供了一种高效、可靠的视频监控解决方案。将这些视频流接入大屏显示…

Linux C 程序 【05】异步写文件

1.开发背景 Linux 系统提供了各种外设的控制方式,其中包括文件的读写,存储文件的介质可以是 SSD 固态硬盘或者是 EMMC 等。 其中常用的写文件方式是同步写操作,但是如果是写大文件会对 CPU 造成比较大的负荷,采用异步写的方式比较…

重拾设计模式--原型模式

文章目录 原型模式定义原型模式UML图优点缺点使用场景C 代码示例深拷贝、浅拷贝 原型模式定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象; 核心中的核心就是 克隆clone ,后面讲 原型模式是一种创建型设计模式,它的主要…

flutter --no-color pub get 超时解决方法

新建Flutter项目后,运行报错,需要执行pub get 点击Run ‘flutter pub get’ … … … 卡着,不动了,提示超时 是因为墙的问题 解决方案: 添加以下环境变量 变量名: PUB_HOSTED_URL 变量值: https://pub.flutter-io.cn …

【C++】优先级队列以及仿函数

本篇我们来介绍一下优先级队列 priority_queue 。优先级队列的底层是数据结构中的堆,在C中它是一个容器适配器,这个容器适配器比之前的栈和队列更复杂。 1.priority_queue的介绍 1.1 优先级队列的底层 因为优先级队列就是堆,堆的底层是数组…

不需要服务器,使用netlify快速部署自己的网站

Netlify简介 1.1 Netlify的功能与特点 Netlify 是一个功能强大的静态网站托管平台,它不仅提供了简单的网站部署功能,还集成了许多现代化的开发工具和服务,帮助开发者更高效地构建、部署和管理网站。Netlify 的核心功能包括: 自动…

简单工厂模式和策略模式的异同

文章目录 简单工厂模式和策略模式的异同相同点:不同点:目的:结构: C 代码示例简单工厂模式示例(以创建图形对象为例)策略模式示例(以计算价格折扣策略为例)UML区别 简单工厂模式和策…

Unity动态读取外部图片转Texture2D,内存过大问题解决方案

问题描述 加载原始图片2.63M的图片,分辨率为3023*4032,占用内存108.5M 加载原始图片12.6 M的图片,分辨率为6000*8000,占用内存427.2M 太恐怖了吧 解决方案 1.加载完图片,等比缩放,宽高改为1024或者512以下 1024占用5.2M,512占用1.3M,相比小了很多 2.原始Texture2…

linux-----进程及基本操作

进程的基本概念 定义:在Linux系统中,进程是正在执行的一个程序实例,它是资源分配和调度的基本单位。每个进程都有自己独立的地址空间、数据段、代码段、栈以及一组系统资源(如文件描述符、内存等)。进程的组成部分&am…

ArkTs组件的学习

一. AlphabetIndexer 可以与容器组件联动用于按逻辑结构快速定位容器显示区域的组件 参数名类型必填说明arrayValueArray<string>是字母索引字符串数组&#xff0c;不可设置为空selectednumber是初始选中项索引值若超出索引值范围则取默认值0 class Lxr{tImg:Resource…

51c自动驾驶~合集42

我自己的原文哦~ https://blog.51cto.com/whaosoft/12888355 #DriveMM 六大数据集全部SOTA&#xff01;最新DriveMM&#xff1a;自动驾驶一体化多模态大模型&#xff08;美团&中山大学&#xff09; 近年来&#xff0c;视觉-语言数据和模型在自动驾驶领域引起了广泛关注…

Linux限制root 用户的远程登录(安全要求)

前言&#xff1a;现在基本用户主机都不允许使用root来操作&#xff0c;所以本文通过创建新用户&#xff0c;并限制root用户的ssh来解决这个问题 1. 创建新账户 aingo 首先&#xff0c;使用 root 账户登录系统。 sudo useradd aingo设置 aingo 账户密码&#xff1a; sudo pa…

前端学习笔记-Vue篇-04

4 Vue中的ajax 4.1 解决开发环境Ajax跨域问题 vue脚手架配置代理 配置参考 | Vue CLI方法一&#xff1a;在vue.config.js中添加如下配置: module.exports {devServer: {proxy: http://localhost:4000} } 说明: 1.优点:配置简单&#xff0c;请求资源时直接发给前端(8080)即…

【优选算法篇】位运算小课堂:从入门到精通的奇妙之旅(上篇)

文章目录 须知 &#x1f4ac; 欢迎讨论&#xff1a;如果你在学习过程中有任何问题或想法&#xff0c;欢迎在评论区留言&#xff0c;我们一起交流学习。你的支持是我继续创作的动力&#xff01; &#x1f44d; 点赞、收藏与分享&#xff1a;觉得这篇文章对你有帮助吗&#xff1…

【Linux】重启系统后开不开机(内核模块丢失问题)

问题 重启后开不开机报错如下&#xff1a; FAILED failed to start load kernel moduiles 可以看到提示module dm_mod not found 缺少了dm_mod 在内核module目录中 reboot重启可以看到这个现象&#xff1a; 可以看到重启启动磁盘&#xff0c;加载不到root 原因 dm_mod模块…

【现代服务端架构】传统服务器 对比 Serverless

在现代开发中&#xff0c;选择合适的架构是至关重要的。两种非常常见的架构模式分别是 传统服务器架构 和 Serverless。它们各有优缺点&#xff0c;适合不同的应用场景。今天&#xff0c;我就带大家一起对比这两种架构&#xff0c;看看它们的差异&#xff0c;并且帮助你选择最适…

搭建Tomcat(四)---Servlet容器

目录 引入 Servlet容器 一、优化MyTomcat ①先将MyTomcat的main函数搬过来&#xff1a; ②将getClass()函数搬过来 ③创建容器 ④连接ServletConfigMapping和MyTomcat 连接&#xff1a; ⑤完整的ServletConfigMapping和MyTomcat方法&#xff1a; a.ServletConfigMappin…

WPF DataTemplate 数据模板

DataTemplate 顾名思义&#xff0c;数据模板&#xff0c;在 wpf 中使用非常频繁。 它一般用在带有 DataTemplate 依赖属性的控件中&#xff0c;如 ContentControl、集合控件 ListBox、ItemsControl 、TabControls 等。 1. 非集合控件中使用 <UserControl.Resources>&l…