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代理配置,需要额外操作。
- 安装docker包后,创建docker组,并将root加入docker组
1
2groupadd docker
usermod -aG docker root - 可选,配置docker 自动启动
systemctl --now enable docker
- 重新启动vagrant,插件自动添加配置