Vagrant (2) —— 基本安装与配置(下)
Vagrant (2) —— 基本安装与配置(下)
摘要
基本安装与配置
版本
Vagrant版本: 1.8.1
内容
预置
我们可以通SSH登录然后安装一个web服务器,但是这样每个使用Vagrant的人都需要做同样的事情。为了解决这个问题,Vagrant为我们提供了自动预置的功能,当vagrant up执行时Vagrant会为我们自动安装配置好的软件,这样我们就能够重复创建多个具有相同软件配置的客户机了。
安装APACHE
我们为基项目安装APACHE,需要做的只是在Vagrantfile相同的目录下创建一个名为bootstrape.sh的shell脚本:
#!/usr/bin/env bash
apt-get update
apt-get install -y apache2
if ! [ -L /var/www ]; then
rm -rf /var/www
ln -fs /vagrant /var/www
fi
然后我们让Vagrant在启动的时候执行这个脚本,我们需要修改Vagrantfile文件
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/precise64"
config.vm.provision :shell, path: "bootstrap.sh"
end
这里起作用的就是config.vm.provision配置。
预置
如果Vagrant vm正在运行,我们可以执行
vagrant reload --provision
来重启vm,同时reload会指示Vagrant重新加载预置信息,如果只是简单重启,则不会重新加载预置,因为Vagrant只会在第一次启动时做这件事。
当Vagrant启动成功后,我们可以先
vagrant ssh
登录该vm,然后运行
vagrant@precise64:~$ wget -qO- 127.0.0.1
测试APACHE是否安装成功。
网络
Vagrant的网络特性让我们可以通过主机访问客户机
端口转发
修改Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/precise64"
config.vm.provision :shell, path: "bootstrap.sh"
config.vm.network :forwarded_port, guest: 80, host: 4567
end
这样可以通过端口4567,在主机上访问客户机80端口,执行以下命令
$ wget -qO- 127.0.0.1:4567
测试能否获得客户机上APACHE的响应。
分享
登陆Atlas
$ vagrant login
Username or Email: mitchellh
Password (will be hidden):
You are now logged in!
分享
登录后执行命令
$ vagrant share
...
==> default: Your Vagrant Share is running!
==> default: URL: http://frosty-weasel-0857.vagrantshare.com
...
注意frosty-weasel-0857是临时创建的url,可以通过CTRL+C来终止分享对话,如果再次分享统一镜像,这个临时url也会发生改变。
关闭
关闭分为三种:suspend挂起,halt中止和destroy销毁。
Suspend挂起
通过执行命令vagrant suspend来保持当前运行的状态,然后停止它。这个方法的好处是快速,通常只需要5-10秒的时间来启动,不好的是挂起的这个vm仍然占用着磁盘空间,需要更多的磁盘空间来保持vm内存里面的状态。
Halt中止
通过执行命令vagrant halt来停止客户机,关闭客户机的电源。这样做的好处是可以干净的关闭客户机,但又保持了磁盘上的内容。不好的是要花更多的时间进行冷启动,当然客户机还占用着磁盘空间。
Destroy销毁
通过执行命令vagrant destroy来销毁客户机,关闭客户机的电源。同时也会删除客户机上的硬盘。这种方式的好处是,客户机上没有任何残留,磁盘空间和内存空间都会被主机回收。不好的是再次启动的时候,Vagrant会要重新做所有的事情,比如重新导入vm和重新预置。
更多内容请参考https://www.vagrantup.com/docs/getting-started/
参考
vagrantup.com: INSTALLING VAGRANT
Vagrant (2) —— 基本安装与配置(下)的更多相关文章
- Vagrant (1) —— 基本安装与配置(上)
Vagrant (1) -- 基本安装与配置(上) 摘要 基本安装与配置 版本 Vagrant版本: 1.8.1 内容 启动运行 $ vagrant init hashicorp/precise64 ...
- TortoiseGit 安装与配置
2. TortoiseGit安装与配置 标签: TortoiseGit安装配置Windows 2014-12-01 15:25 135739人阅读 评论(10) 收藏 举报 .embody{ padd ...
- vagrant在windows下的安装和配置
记录一下安装和配置过程中的一些坑步骤一分别下载vagrant和VirtualBox,我这里下载的是vagrant_1.9.1.msi 和 VirtualBox-5.1.14-112924-Win.ex ...
- vagrant在windows下的安装和配置(一)
记录一下安装和配置过程中的一些坑步骤一分别下载vagrant和VirtualBox,我这里下载的是vagrant_1.9.1.msi 和 VirtualBox-5.1.14-112924-Win.ex ...
- vagrant在windows下的安装和配置(二)
在(一)中安装和配置好后 框框中的信息是登录vagrant up后的系统用的 我这里登录用的是xshell-----下载一个xshell然后安装 打开xshell 按确定之后生成一个新的会话,然后登录 ...
- mac 下JDK 与 tomcat 的安装与配置
一.Mac下JDK的安装 1.先检测Mac是否已经安装过JDK,在终端中输入java 或者 javac 显示说明,表明已经安装过JDK,JDK版本查询终端键入java -version,终端会返回JD ...
- win7下IIS的安装和配置 图文教程
转自 http://www.jb51.net/article/29787.htm 最近工作需要IIS,自己的电脑又是Windows7系统,找了下安装的方法,已经安装成功.在博客里记录一下,给需要的 ...
- CentOS 6.3下Samba服务器的安装与配置方法(图文详解)
这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下 一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
随机推荐
- php把采集内容中图片地址下载并替换成本地地址
把字符串中地址全部获取到一个数组我们利用preg_match_all函数 代码如下 复制代码 <?php$str='<p><img border="0" s ...
- [转]PostgreSQL教程(十六):系统视图详解
这篇文章主要介绍了PostgreSQL教程(十六):系统视图详解,本文讲解了pg_tables.pg_indexes.pg_views.pg_user.pg_roles.pg_rules.pg_set ...
- C#基础课程之四集合(ArrayList、List<泛型>)
list泛型的使用 ArrayList list = new ArrayList(); ArrayList list = ); //可变数组 list.Add("我"); //Ad ...
- shiro 基本认知
1 shiro 的作用:安全.权限管理. 具有的功能:认证.授权.加密.会话管理.web集成.缓存 2 shiro 结构 3
- 利用libsvm-mat建立分类模型model参数解密[zz from faruto]
本帖子主要就是讲解利用libsvm-mat工具箱建立分类(回归模型)后,得到的模型model里面参数的意义都是神马?以及如果通过model得到相应模型的表达式,这里主要以分类问题为例子. 测试数据使用 ...
- 使用maven-shade-plugin插件解决spark依赖冲突问题
依赖冲突:NoSuchMethodError,ClassNotFoundException 当用户应用于Spark本身依赖同一个库时可能会发生依赖冲突,导致程序奔溃.依赖冲突表现为在运行中出现No ...
- centos 7 安装python3和pip
目前,我认为还是使用系统自带的稳定版最好,因为:该版本肯定是centos7开发组深思熟虑的,稳定性好,另外,由于系统自带,兼容性好,第三,和之配套的软件齐全,如果不用系统的,建议还是不要在源码编译安装 ...
- 绑定sql server数据库的用户与登录名
服务器重装系统,重新安装上sql server,附加上以前的数据库, 然后以前是每个数据库都有一个登录用于操作该数据库,其他数据库不能操作的, 附加上数据库后该数据库安全性里的用户能看到以前建立好的用 ...
- 文档 - STOMP Over WebSocket
http://jmesnil.net/stomp-websocket/doc/ What is STOMP? STOMP is a simple text-orientated messaging p ...
- 深入理解Linux内核-系统调用
系统调用:用户态进程向内核发出的,实现用户态进程调用硬件设备的函数或者中断:优点:使编程更容易,将用户从学习硬件设备的低级编程特性中解放:提高系统到安全性,内核在满足请求之前可以做正确性检查:提高可移 ...