前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >代理环境配置docker

代理环境配置docker

作者头像
码农二狗
发布2018-06-29 10:14:42
9620
发布2018-06-29 10:14:42
举报
文章被收录于专栏:码农二狗

用来用去还是台式机爽,而且懒得天天带电脑,所以想在公司电脑上配置docker环境。但是公司网络是没办法直连外部网络的,只能通过http proxy来访问外网。

首先是宿主机使用ubuntu on virtualbox,注意下网络连接方式,公司的网络策略是禁止桥接网卡,所以需要选择nat方式。

然后按照官方指南安装docker:

更新软件源:

代码语言:javascript
复制
apt-get update

但是apt是不会引用你已经配置好的环境变量HTTP_PROXY和HTTPS_PROXY的,需要单独配置apt代理:

编辑: /etc/apt/apt.conf or /etc/apt/apt.conf.d/xxx.conf

代码语言:javascript
复制
Acquire:::proxy "//proxy:port/";
Acquire:::proxy "//proxy:port/";

更新完成后按照指引安装根证书等依赖,然后需要导入GPG KEY:

代码语言:javascript
复制
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

坑爹的是这个地方不仅不读环境变量,也不使用apt的代理配置,需要直接指定一下

代码语言:javascript
复制
apt-key adv --keyserver-options http-proxy=//proxy:port/ --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

然后安装就一片坦途了,安装完成之后顺手拉个官方镜像

代码语言:javascript
复制
docker pull busybox

提示网络超时,编辑配置文件增加代理:

代码语言:javascript
复制
vim /etc/default/docker

按照说明增加http_proxy和https_proxy,重启docker服务后无效果,docker info没有体现代理信息

gg了半天找到了一个issues:

The /etc/default/docker file is only used on systems using sysvinit and upstart (see this comment at the top of the file). Ubuntu 16.04 uses systemd, so doesn't use that file.

原来/etc/default/docker这个配置文件是sysvinit版本的配置文件,而sysvinit在ubuntu 16上被systemd替代掉了,应该使用systemd版本的配置

创建并编辑:/etc/systemd/system/docker.service.d/http-proxy.conf:

代码语言:javascript
复制
[Service]
Environment="HTTP_PROXY=//proxy:port/" "HTTPS_PROXY=//proxy:port/" "NO_PROXY=localhost,127.0.0.1"

重新加载systemd配置:

代码语言:javascript
复制
systemctl daemon-reload

重启docker服务:

代码语言:javascript
复制
systemctl restart docker
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档