代理环境配置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 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

史上最全Linux命令科普 | 常见命令的名称是怎么来的?

1 目录缩写 缩写 | 全称 | 说明 --- | --- | --- | /bin | BINaries | 二进制可执行命令 /dev | DEVices...

3025
来自专栏小特工作室

Navi.Soft31.WinCE框架.开发手册(含下载地址)

1.概述 1.1应用场景 随着物联网的普及,越来越多的制造商对货品从原料配备,加工生产,销售出库等环节的要求和把控越来越高.在此情况之下,传统的ERP软件已经无...

1885
来自专栏Rainbond开源「容器云平台」

好雨云帮一周问答集锦(2.6-2.12)

956
来自专栏技术/开源

开源API测试工具 Hitchhiker v0.6更新 - 改进压力测试

Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部...

2121
来自专栏技术/开源

开源API测试工具 Hitchhiker v0.6更新 - 改进压力测试

Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部...

3158
来自专栏Crossin的编程教室

为什么你的python版本一团糟?因为少了这个操作

在这里我要说明下,对于初学者来说,版本间的语法差异其实并不大。现在刚开始学 Python 的人,放心大胆地用最新版本即可。业内所诟病的,主要是针对代码上的不兼容...

992
来自专栏Albert陈凯

【网易严选】iOS持续集成打包(Jenkins+fastlane+nginx)

严选iOS客户端的现有打包方式是通过远程连接打包机执行脚本去打包,打完包会输出相应的ipa的二维码,扫一扫二维码可以安装,但是随着测试队伍的壮大,外包同学越来越...

1172
来自专栏木木玲

Netty in action ——— Bootstrapping

1052
来自专栏木木玲

Netty 那些事儿 ——— Reactor模式详解

4007
来自专栏FreeBuf

Kali-Linux扩充弹药:Kali Linux metapackages

信息安全爱好者经常使用的Kali-Linux需要经常更新,扩充弹药,最近在关注Kali-Linux的时候发现一个比较有意思的文档。 原链接如下:http://w...

2328

扫码关注云+社区