虚拟机打包重新部署全过程详细说明
来源:互联网 发布:手机淘宝如何打造爆款 编辑:程序博客网 时间:2024/06/07 01:10
宿主主机操作系统:linux操作系统(redhat6.5/centos7.2/debain8.5/ubuntu16.04)
虚拟机工具:VirtualBox_5.0.24 x86_64 //手动配置安装虚拟机,安装源是iso文件
虚拟机管理工具:vagrant_1.8.4_x86_64 //用命令安装虚拟机,安装源是box文件
宿主主机上安装的虚拟机操作系统:centos7.2/ubuntu16.04
box网址:
vagrantbox.es
sourceforge.net/projects/nrel-vagrant-boxes/files/
找到相应的系统的box,就可以通过vagrant快速部属。
部署打包步骤:
1.安装Virtualbox+Vagrant(略)
Virtualbox是开源的,现被Oracle收购
Vagrant支持Virtualbox,也支持VMvare虚拟机
2.添加Box源
vagrant box add <name, url, or path>
name就是将来部署的box名称;
url就是添加的准备导入的网络上的box安装包;
path就是本地服务器存放box的路径+安装包;
例如:vagrant box add centos6.7 https://sourceforge.net/projects/nrel-vagrant-boxes/files/CentOS-6.7-x86_64-v20151108.box //下载后添加到自己的box列表里;
例如:vagrant box add centos7.2 /home/box/CentOS-7.2-x86_64.box //box包可提前下载到本地;
3.查看box列表
vagrant box list //可看到上述2个虚拟机已在列表显示中
4.开始虚拟机运行
mkdir -p /home/centos7.2
cd /home/centos7.2
vagrant init centos7.2 //在当前目录下会生产Vagrantfile,可修改成自己虚拟机的配置如ip地址;
vagrant up //根据启动信息排队成功与否;
vagrant ssh //连接虚拟机,用户口令:vagrant/vagrant,本人的虚拟机开启了ssh,可直接连接;
5.制作自己的Box
虚拟机安装成功后,根据自己的需要可以选择安装数据库、app等开发应用环境,为了以后快速部属,或者团队开发,可通过vagrant打包发布给其他人使用;
vagrant package --output /home/box/CentOS-7.2-app.box --base centos7.2 //基于虚拟机centos7.2,在/home/box生成centos7.2的image包
重复上述的2和4就可以部属自己发布CentOS-7.2-app.box包;
注意:如果网络模式是 private_network 的话,在打包之前需要清除一下private_network的设置,避免不必要的错误:
rm -f /etc/udev/rule.d/70-persistent-net.rules
多台虚拟机部属:
在Vagrantfile设定文件里改成这样:
Vagrant.configure("2") do |config|
config.vm.define :openblockchain do |openblockchain|
openblockchain.vm.box = "CentOS-7.2-app"
openblockchain.vm.network :public_network, ip: "10.3.5.201"
end
config.vm.define :openchina do |openchina|
openchina.vm.box = "CentOS-7.2-app"
openchina.vm.network :public_network, ip: "10.3.5.202"
end
end
配置文件Vagrantfile说明:
Vagrant的网络有三种模式:
config.vm.network :forwarded_port, guest: 80, host: 8080 //将虚拟机中的80端口映射到宿主机对应的8080端口直接使用;
config.vm.network :private_network, ip: "192.168.1.100" //虚拟机可以访问外面,外面无法访问虚拟机;
config.vm.network :public_network //其他主机可以直接访问虚拟机;
目录映射:
config.vm.synced_folder "/wwwroot", "/www" //前面是宿主机绝对路径,后面是虚拟机路径;
//默认情况下,当前的工作目录,会被映射到虚拟机的 /vagrant 目录下;
下面以ibm的openchain为例说明如何手动挂载
主机上要共享的文件目录 对外共享的名称
/home/workspace openchain
/home/go/src/github.com/openblockchain/obc-peer opt_gopath_src_github.com_openblockchain_obc-peer
/home/workspace/obc-dev-env vagrant
虚拟机上创建3个挂载点可以和主机上的共享名称不一致
sudo mkdir -p /openchain
sudo mkdir -p /vagrant
sudo mkdir -p /opt/gopath/src/github.com/openblockchain/obc-peer
在虚拟机上mount共享名称
mount -t vboxsf openchain /openchain
mount .vboxsf vagrant /vagrant
mount.vboxsf opt_gopath_src_github.com_openblockchain_obc-peer /opt/gopath/src/github.com/openblockchain/obc-peer
mount mount.vboxsf 2种命令都可以.
- 虚拟机打包重新部署全过程详细说明
- RPM打包详细说明
- android apk反编译、修改源码、重新打包全过程
- 安卓apk反编译、修改、重新打包、签名全过程
- vs2005打包部署程序-详细制作过程
- VS2013程序打包部署详细图解
- VS2013程序打包部署详细图解
- XenServer安装及虚拟机部署详细指南
- 详细教程:在VMware部署虚拟机
- kvm 虚拟机的详细说明(ubuntu)
- [Azure]使用Azure Powershell重新部署ASM虚拟机
- linux安装elasticsearch部署配置详细说明
- APK反编译以及重新打包的详细步骤
- APK反编译以及重新打包的详细步骤
- 对一个deb包的解压、修改、重新打包全过程方法
- 对一个deb包的解压、修改、重新打包全过程方法
- 对一个deb包的解压、修改、重新打包全过程方法
- 对一个deb包的解压、修改、重新打包全过程方法
- 编写类似strcmp() strncmp()函数
- Hive ORC数据格式的MapReduce读写
- 微服务应用-基于Spring Cloud和Docker构建电影推荐微服务
- Ant自动编译Java project时无法找到rt.jar的处理方法
- 显示Intent和隐式Intent的使用(意图)
- 虚拟机打包重新部署全过程详细说明
- mysql存储过程初级
- 热度TopN排名算法的设计
- JSP中<base href="<%=basePath%>">作用
- gitconfig中磨刀不误砍柴工的小配置
- libqr--简单好用的c++二维码生成库
- C语言实现md5函数代码
- ZooKeeper实战应用之【统一配置管理】
- Android——自定义View loading效果