文章目录

  • 前言
  • 一、Docker daemon ( Docker 守护进程 )Http代理配置
  • 二、Container (容器)Http代理配置
    • 1.全局配置
    • 2.局部修改
  • 三.代理为域名时的特殊处理
    • 1.全局修改-通过修改 docker daemon 配置添加
    • 2.局部修改-通过 docker run 参数添加
  • 结尾

前言

有些公司因为网络安全管控,需要使用代理。Docker的代理配置,略显复杂,下面描述多种场景的代理配置


一、Docker daemon ( Docker 守护进程 )Http代理配置

在执行docker pull时,是由守护进程dockerd来执行。因此,代理需要配在dockerd的环境中。而这个环境,则是受systemd所管控,因此实际是systemd的配置。

sudo mkdir -p /etc/systemd/system/docker.service.d
vi /etc/systemd/system/docker.service.d/http-proxy.conf

在这个http-proxy.conf(可以是任意*.conf的形式)文件中,添加以下内容:

[Service]
Environment="HTTP_PROXY=http://账号:密码@服务器:端口"
Environment="HTTPS_PROXY=http://账号:密码@服务器:端口"
Environment="NO_PROXY=localhost,127.0.0.1"

重启 docker

systemctl restart docker

二、Container (容器)Http代理配置

1.全局配置

在容器运行阶段,如果需要代理上网,则需要配置~/.docker/config.json。以下配置,只在Docker 17.07及以上版本生效。

{"proxies":{"default":{"httpProxy": "http://账号:密码@服务器:端口","httpsProxy": "http://账号:密码@服务器:端口","noProxy": "localhost,127.0.0.1"}}
}

重启 docker

systemctl restart docker

这个是用户级的配置,除了proxies,docker login等相关信息也会在其中。而且还可以配置信息展示的格式、插件参数等。
此外,容器的网络代理,也可以直接在其运行时通过-e注入http_proxy等环境变量。这两种方法分别适合不同场景。config.json非常方便,默认在所有配置修改后启动的容器生效,适合个人开发环境。在CI/CD的自动构建环境、或者实际上线运行的环境中,这种方法就不太合适,用-e注入这种显式配置会更好,减轻对构建、部署环境的依赖。

2.局部修改

在 docker run 命令添加参数

docker run -d -p 9000:8080 -p 9001:50000 -v /data/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime  -u root \
--env HTTP_PROXY="http://账号:密码@服务器:端口" \
--env HTTPS_PROXY="http://账号:密码@服务器:端口" \
--env http_proxy="http://账号:密码@服务器:端口" \
--env https_proxy="http://账号:密码@服务器:端口" \
--name jenkins jenkins

三.代理为域名时的特殊处理

如果添加的代理是域名的话,如 proxy.neu.com:80, 需要再做一步额外的处理。

1.全局修改-通过修改 docker daemon 配置添加

在每个 container 运行前,会继承 Docker daemon 的配置,在 /etc/docker/daemon.json 文件下.

# 为 docker daemon 添加 dns,在运行时会为每个 container 添加上
cat /etc/docker/daemon.json
{"dns" : ["8.8.4.4","8.8.8.8","Your_DNS_SERVER"],"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}

2.局部修改-通过 docker run 参数添加

docker run -d -p 9000:8080 -p 9001:50000 -v /data/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime  -u root \
--env HTTP_PROXY="http://账号:密码@服务器:端口" \
--env HTTPS_PROXY="http://账号:密码@服务器:端口" \
--env http_proxy="http://账号:密码@服务器:端口" \
--env https_proxy="http://账号:密码@服务器:端口" \
--dns 202.107.117.11 \
--name jenkins jenkins

结尾

  • 感谢大家的耐心阅读,如有建议请私信或评论留言。
  • 如有收获,劳烦支持,关注、点赞、评论、收藏均可,博主会经常更新博客,知识共享。

docker代理配置详解相关推荐

  1. Nginx反向代理配置详解

    Nginx反向代理配置详解 Nginx简单的反向代理配置,包括配置文件中各项参数的的注释,好了,开始! 开始首先安装Nginx 一.建立用户和用户组 1 2 ./usr/sbin/groupadd w ...

  2. nginx反向代理模块配置详解_nginx反向代理配置详解

    反向代理配置 修改部署目录下conf子目录的nginx.conf文件(如/opt/nginx/conf/nginx.conf)内容,可调整相关配置. 将默认配置里面带#号注释内容去掉 grep -v ...

  3. Nginx正向代理配置详解

    一.nginx正向代理介绍及配置(需要在客户端配置代理服务器进行指定网站访问) #模块 ngx_http_proxy_module: http://nginx.org/en/docs/http/ngx ...

  4. Nginx 反向代理工作原理简介与配置详解

    Nginx 反向代理工作原理简介与配置详解 测试环境 CentOS 6.8-x86_64 nginx-1.10.0 下载地址:http://nginx.org/en/download.html 安装 ...

  5. docker常用参数详解,docker run常用参数详解(精)

    1. 查询github上的镜像 docker search sybase 2. 下载 docker pull ifnazar/sybase_15_7 3. 删除镜像 docker rmi -f run ...

  6. docker-daemon.json各配置详解

    docker-daemon.json各配置详解{"api-cors-header":"", ------在引擎API中设置CORS标头"authori ...

  7. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  8. Maven settings.xml配置详解

    首先:Maven中央仓库的搜索全部公共jar包的地址是,http://search.maven.org/ ===Maven基础-默认中央仓库============================== ...

  9. vue-cli3.0配置详解

    这次给大家带来vue-cli3.0配置详解,使用vue-cli3.0配置的注意事项有哪些,下面就是实战案例,一起来看一下. 新建项目 1 2 3 4 5 6 7 8 # 安装 npm install ...

  10. varnish配置详解

       varnish配置详解 能用到缓存的服务器的原因是,应用到了程序的局部性. 空间局部性:一个程序最近访问了一个空间,那么他周边的空间也将被访问. 时间的局部性:一条指令一段时间内被执行,之后的一 ...

最新文章

  1. 无人驾驶技术--五个等级
  2. Android - 启动器图标大小
  3. Python十段经典代码
  4. go连接mysql数据库
  5. iconpath 微信小程序_微信小程序开发(全局配置文件)
  6. python情感词典计算得分_利用情感词典计算调研纪要中的情感得分
  7. 人工智能的主要风险因素有哪些?
  8. excel 通用进销存(由excel+VBA+MSSQL制作)
  9. passport2刷android,让人久等了! 安卓版黑莓Passport2将至
  10. 计算机网络之子网掩码,子网掩码
  11. python爬取虎扑评论_python-2:爬取某个网页(虎扑)帖子的标题做词云图
  12. MySQL数据库编程--函数
  13. 读安晓辉之《Qt Quick 核心编程》
  14. 16.网络《果壳中的c#》
  15. 【NOIP%你题】【线性筛】dun题解
  16. java同一个包是什么意思_java中包到底是什么意思?包访问权限又是什么意思,有C++基础。...
  17. 题解 三维偏序(陌上花开)+黑科技食用
  18. 日历(NSCalendar)
  19. 神经型计算机的前景,人工神经网络发展前景
  20. PHP搭建简单的留言板论坛

热门文章

  1. IC卡读写器开发说明
  2. 计算机的3d软件家庭版,3DOne家庭版 64位
  3. 《王道计算机考研》:应用层
  4. 【计算机组成原理(唐朔飞)】笔记
  5. 高等代数——大学高等代数课程创新教材(丘维声)——1.2笔记+习题
  6. 用于解决SQL2014安装时出现需要更新vs2010的问题
  7. 计算机考研复试面试常问问题 软件工程篇
  8. keycloak授权流程详解
  9. 如何设计企业特色的数字化转型架构?
  10. Stata+R:一文读懂中介效应