docker如何拉取gcr.io镜像

本文章分两部分,第一部分介绍虚拟机网络配置,第二部分介绍docker怎么在这个基础上拉gcr.io的镜像。

一.虚拟机网络配置

       很多文章都提到说虚拟机想proxy上网需要桥接等等,其实是没理解虚拟机和宿主机之间的关系,其实桥接不桥接的根本不是重点,用NAT模式一样可以。

        桥接的本质是让虚拟机和宿主机都接在同一个网络环境下,使得虚拟机和宿主机有同样的ip段,这样能方便外部的其他机器访问到虚拟机。

        而NAT模式是在宿主机上分配一个网络段,让虚拟机接入到该网络段,这样只有虚拟机和宿主机能互相访问,外部机器无法访问虚拟机。

        而虚拟机proxy的本质原理是,在虚拟机上也配置proxy,proxy的地址和端口就是宿主机的ip+proxy工具的端口,例如192.168.1.77:7890。这样虚拟机就可以上网了,所以桥接和NAT针对这个场景有区别吗?

        我的虚拟机是一台ubuntu,我就以这个为例说一下我的配置过程。

       首先打开proxy工具,第一行显示的就是端口号。之后把Allow LAN和System Proxy都打开。

之后进入到虚拟机,输入命令:

vi ~/.bashrc

在最后加上这两行:

export http_proxy=http://192.168.1.77:7890

export https_proxy=https://192.168.1.77:7890

192.168.1.77是我的宿主机的ip,请自行填成你自己的。

之后保存退出。

执行命令:

source  ~/.bashrc

这样就可以了。

二.docker拉gcr.io镜像

在第一步的前提下,输入以下命令:

mkdir /etc/systemd/system/docker.service.d

然后

vim /etc/systemd/system/docker.service.d/http_proxy.conf 

加入这个配置

[Service] 
Environment="HTTP_PROXY=192.168.1.777:7890" 
Environment="HTTPS_PROXY=192.168.1.77:7890"

这就相当于给docker也配置了代理

然后重启一下docker

sudo systemctl daemon-reload
sudo systemctl restart docker

这样就可以了。 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值