首页 > 代码库 > Vagrant 部署python开发环境
Vagrant 部署python开发环境
Vagrant简介
Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。
在Windows下,也可以方便地使用Linux环境开发程序
官方文档 http://docs.vagrantup.com/v2/getting-started/index.html
box https://vagrantcloud.com/discover/featured
准备工作
下载安装 VirtualBox https://www.virtualbox.org/wiki/Downloads
下载安装 Vagrant http://www.vagrantup.com/downloads.html
初始化Vagrant
#进入D盘C:\Windows\system32>d:#创建一个虚拟机的主目录,这个目录会与虚拟机/vagrant保持同步mkdir vagrant_getting_startedcd vagrant_getting_started#初始化,这里需要一个centos的box,在box分享网站上可以找到chef/centos-6.5vagrant init chef/centos-6.5#启动虚拟机vagrant up#登录虚拟机vagrant ssh
配置开发环境
sudo yum update -ysu rootPassword:vagrant#更改root密码,方便SecureCRT登录 默认虚拟机22端口映射宿主机2222端口service sshd reloadpasswd root#后续的服务器安全加固措施,可以使用key登录
常用命令
box管理
vagrant box list #列出可用boxvagrant box add chef/centos-6.5 #添加云box上的镜像vagrant box add chef/centos-6.5 chef/centos-6.5.box #添加本地box
虚拟机管理命令
vagrant up #启动vagrant reload #修改Vagrantfile快速使之快速生效vagrant halt #关闭vagrant suspend #暂停vagrant resume #恢复vagrant destroy #删除
打包box
- 创建新的文件Vagrantfile.pkg
Vagrant::Config.run do |config| #Forward apache config.vm.forward_port 80, 8080end
- 打包Project
#打包完成后,会在工程根目录下生成package.boxvagrant package --vagrantfile Vagrantfile.pkg
- private_network模式需要清除一下配置
rm -f /etc/udev/rule.d/70-persistent-net.rules
Vagrantfile 配置
Vagrantfile 工程根目录下,虚拟机的主要配置文件,提供网络配置,共享配置,环境初始化配置
(支持shell命令及脚本,chef,puppet,salt,Docker)
网络配置
#端口映射config.vm.network :forwarded_port, guest: 80, host: 8080#私有网络config.vm.network :private_network, ip: "192.168.1.104"#DHCP接入实体网络config.vm.network :public_network#网卡桥接接入实体网络config.vm.network "public_network", bridge: ‘en1: Wi-Fi (AirPort)‘
共享
#目录共享config.vm.synced_folder "E:/Blog", "/home/vagrant/Blog"
环境初始化provision
执行脚本
#!/usr/bin/env bashyum updateyum install -y apache2rm -rf /var/wwwln -fs /vagrant /var/www
Vagrant.configure("2") do |config| config.vm.box = "chef/centos-6.5" config.vm.provision :shell, path: "bootstrap.sh"end
运行Docker
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。