Docker容器网络代理设置
之前已经讲过如何设置Docker守护进程如何设置网络代理,那么如何设置运行的Docker容器的网络代理呢?
设置环境变量
设置容器环境变量,这也是最直接的一种方式。启动容器时,通过设置–env的flag,将环境变量传入容器。
变量名 | Dockerfile示例 | Docker run示例 |
---|---|---|
HTTP_PROXY | ENV HTTP_PROXY “http://127.0.0.1:3001” | –env HTTP_PROXY=“http://127.0.0.1:3001” |
HTTPS_PROXY | ENV HTTPS_PROXY “https://127.0.0.1:3001” | –env HTTPS_PROXY=“https://127.0.0.1:3001” |
FTP_PROXY | ENV FTP_PROXY “ftp://127.0.0.1:3001” | –env FTP_PROXY=“ftp://127.0.0.1:3001” |
NO_PROXY | ENV NO_PROXY “*.test.example.com,.example2.com” | –env NO_PROXY="*.test.example.com,.example2.com" |
这种方式的优点就是直接,但缺点就是每次启动容器,都需要显示的设置,那么编译一些项目就会遇到麻烦。比如kubevirt项目,会在代码中启动容器下载go项目,需要用到代理,那就必须手动找到启动容器的位置,显示加上以上的环境变量,增加了很多工作量。为了解决这种情况,在Docker 17.07以上,可以使用配置Docker客户端的方式。
配置Docker客户端
前置条件:Docker 17.07以上。
在启动docker用户的Home目录,创建~/.docker/config.json
文件,增加http_proxy、https_proxy、ftp_proxy等的设置。当然,也可以同时配置多个代理服务器。
对于不想使用no_proxy的路径,也可以增加no_proxy的配置,no_proxy的内容用逗号分隔,而且支持通配符*。
示例:
{"proxies":{"default":{"httpProxy": "http://127.0.0.1:3001","httpsProxy": "http://127.0.0.1:3001","noProxy": "*.test.example.com,.example2.com"}}
}
启动容器,即可看到容器内会被自动加入代理。
Docker容器网络代理设置相关推荐
- docker 网络代理设置
为什么需要设置代理 在运行docker run 时,首先会检查当前环境是否有对应的镜像,若没有将去docker hub上下载.由于国内长城,基本上不可能直接访问到国外的docker hub. 如下运行 ...
- 手工模拟实现 Docker 容器网络!
大家好,我是飞哥! 如今服务器虚拟化技术已经发展到了深水区.现在业界已经有很多公司都迁移到容器上了.我们的开发写出来的代码大概率是要运行在容器上的.因此深刻理解容器网络的工作原理非常的重要.只有这样将 ...
- Docker容器网络解析
Docker 容器网络的发展历史 在 Dokcer 发布之初,Docker 是将网络.管理.安全等集成在一起的,其中网络模块可以为容器提供桥接网络.主机网络等简单的网络功能. 从 1.7 版本开始,D ...
- Docker容器网络
Docker的技术依赖于Linux内核的虚拟化技术的发展,Docker使用到的网络技术有Network Namespace.Veth设备对.Iptables/Netfilter.网桥.路由等.接下来, ...
- docker容器网络及其配置
docker容器网络及其配置 文章目录 docker容器网络及其配置 虚拟化网络 单主机与多主机的Docker网络 单节点容器间通信 不同节点容器间通信 Docker网络驱动 选择Docker网络驱动 ...
- Docker容器网络实例管理
Docker容器网络实例管理 Linux内核实现名称空间的创建 ip netns命令 可以借助ip netns命令来完成对 Network Namespace 的各种操作.ip netns命令来自于i ...
- 共享内存简介及docker容器的shm设置与修改
共享内存简介及docker容器的shm设置与修改 共享内存简介 共享内存指 (shared memory)在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存.由于多个CPU需要快 ...
- 解锁TrueNAS SCALE 三方docker容器网络访问限制,默认是关闭的;并添加Portainer-CE容器webGUI管理器
解锁TrueNAS SCALE 三方docker容器网络访问限制,默认是关闭的:并添加Portainer-CE容器webGUI管理器 本教程环境版本:TrueNAS-SCALE-21.06-BETA. ...
- Kubernetes Docker 容器网络终极之战(十四)
与 Docker 默认的网络模型不同,Kubernetes 形成了一套自己的网络模型,该网络模型更加适应传统的网络模式,应用能够平滑的从非容器环境迁移到 Kubernetes 环境中. 自从 Dock ...
最新文章
- 一个很奇怪的 OpenCV出错:resize的坑
- SQLServer2000数据库特有的1433端口号
- 高人对libsvm的经典总结(全面至极)
- iOS开发篇——赋值语句介绍(C++)
- mysql下载是port报错_mysql group replication添加复制节点报错
- mysql中如何将几个没有关系的结果集放在一起
- prepareStatament和Statement和callableStatement的区别
- js模拟下雨js特效代码
- html5播放器视频抓取,分享10款最棒的免费HTML5视频播放器
- c#利用API读取微信数据
- Quartz分布式定时任务
- Zabbix拓扑图与聚合图形
- android中接口的作用是什么意思,Type-C接口有什么好处?和安卓micro USB接口有什么区别...
- 软件项目量化管理目标举例
- 指数族分布(2)——对数配分函数和MLE与充分统计量
- waylandweston
- 数仓建模—数仓架构发展史(02)
- 七个初学者必下载的Python编程器
- 新郑计算机培训机构排名前十,新郑美术培训中心排名
- 初识TradingView脚本语言PineScrpt 5
热门文章
- 神经性脚臭案例整理(一)
- 华为服务器 维护手册,华为常用维护手册.doc
- 实战 | flink sql 实时 TopN
- Linux开发工具--(编辑器,编译器,调试器)
- Pandas返回时间戳的差,以秒为单位
- 多传感器融合定位十四-基于图优化的定位方法
- java swing 跳转窗口_java swing 怎么实现点击按钮或者某个组件,跳转到另一个页面或者窗体?...
- 算法09——patA1033 加油站问题(贪心)
- eclipse java 测试_测试:LR中使用Eclipse来进行Java程序的测试方法
- 如何免费下载的全球的矢量边界(WGS84)