代理环境配置docker

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

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

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

更新软件源:

apt-get update

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

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

Acquire:::proxy "//proxy:port/";
Acquire:::proxy "//proxy:port/";

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

apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

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

apt-key adv --keyserver-options http-proxy=//proxy:port/ --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

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

docker pull busybox

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

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:

[Service]
Environment="HTTP_PROXY=//proxy:port/" "HTTPS_PROXY=//proxy:port/" "NO_PROXY=localhost,127.0.0.1"

重新加载systemd配置:

systemctl daemon-reload

重启docker服务:

systemctl restart docker

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏月色的自留地

三种方式给apt设置代理

有很多第三方工具可以用,比如proxychains,非常好用,不过今天这不是正题。因为有可能没有代理,上网你都做不到,更别提下载软件了。想一想方法还是告诉你,免...

551
来自专栏安恒网络空间安全讲武堂

RPO分析+Share your mind分析

833
来自专栏SDNLAB

OVSDB介绍及在OpenDaylight中的调用

前言 OVS是一种开源的软件交换机,可安装于通用的虚拟服务器环境中,在虚拟环境中单个、多个物理机上的不同虚拟主机都需要通过OVS实现数据交换。 ? OVS包...

4749
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(二):开发环境配置

努力与运动兼备~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

1735
来自专栏点滴积累

OpenStack(企业私有云)万里长征第五步——虚拟机Migrate&Resize

一、前言 上一篇文章讲了OpenStack的部署和简单操作,今天介绍一下如何实现虚拟机的Migrate以及Resize。Migrate操作和Resize操作基本...

3915
来自专栏吴伟祥

使用匿名类直接new接口 原

初看上去,就好象在“不提供接口实现的情况下,直接new了一个接口实例”,对于C#er来说,有一种尽毁三观的赶脚。

853
来自专栏IT笔记

Spring Quartz任务案例源码实现

写在开始 上一篇有讲到 springTask任务案例源码实现 此篇,spring整合Quartz实现更强大的定时任务。 任务介绍 Quartz存储job方式就...

2724
来自专栏农夫安全

XSS姿势——文件上传XSS

一个文件上传点是执行XSS应用程序的绝佳机会。很多网站都有用户权限上传个人资料图片的上传点,你有很多机会找到相关漏洞。如果碰巧是一个self XSS,你可以看看...

1392
来自专栏雨过天晴

原 Ngrok编译

2732
来自专栏运维小白

15.5 使用pure-ftpd搭建ftp服务

使用pure-ftpd搭建ftp服务目录概要 yum install -y epel-release yum install -y pure-ftpd vim ...

1959

扫码关注云+社区