大虾居

谈笑有鸿儒,往来无白丁。

0%

使用Vagrant proxyconf快速配置虚拟机代理

vagrant 可以通过命令行快速创建和销毁虚拟机,在多项目环境下进行开发工作时可以提高效率。

但是国内网络连接某些包分发源,例如pip, redhat yum, docker时速度非常慢,在每个虚拟机中都配置一遍又很麻烦,有没有什么好办法能自动配置虚拟机里面的代理呢。

今天虾哥就带大家了解一下 vagrant-proxyconf这款vagrant插件。

一、安装

通过vagrant命令行安装

vagrant plugin install vagrant-proxyconf

二、配置

插件可以在Vagrantfile中配置代理服务器地址,也可以使用环境变量,由于我在不同环境都用相同的代理,因此就使用环境变量统一配置了。

环境变量有4个

  • VAGRANT_HTTP_PROXY
    :http请求的代理
  • VAGRANT_HTTPS_PROXY
    : https请求的代理
  • VAGRANT_FTP_PROXY
    : ftp请求的代理
  • VAGRANT_NO_PROXY
    : 哪些请求不使用代理

Windows上配置方法为 在start窗口输入 “编辑系统环境变量” -> “环境变量” -> xx的用户环境变量 -> 新建。输入变量名和变量的值。

虾哥自己的配置是
VAGRANT_HTTP_PROXY=http://10.10.2.40:58591
VAGRANT_HTTPS_PROXY=http://10.10.2.40:58591
VAGRANT_FTP_PROXY=socks5://10.10.2.40:51837
VAGRANT_NO_PROXY=192.168.0.0/16,127.0.0.1,10.10.0.0/16

三、使用

配置完成后,新创建的vagrant虚拟机就会自动配置http_proxy和https_proxy变量,yum和pip会自动生效。

对于已经在使用的虚拟机,只需要运行vagrant reload,重启时插件就会自动配置代理,重启完成后就可以正常使用了。

docker 代理配置

docker 代理的配置是存储于独立文件的,如果虚拟机启动时还没有安装docker,则不会自动生成docker配置。要在安装docker之后自动配置docker代理配置,需要额外操作。

  1. 安装docker包后,创建docker组,并将root加入docker组
    1
    2
    groupadd docker
    usermod -aG docker root
  2. 可选,配置docker 自动启动 systemctl --now enable docker
  3. 重新启动vagrant,插件自动添加配置

参考

https://docs.docker.com/engine/install/linux-postinstall/