vagrant学习笔记 - 入门

官网http://www.vagrantup.com/

官方下载地址:https://www.vagrantup.com/downloads.html

旧版本下载:https://releases.hashicorp.com/vagrant/

box下载:

官方仓库:https://atlas.hashicorp.com/boxes/search

官方镜像:https://vagrantcloud.com/boxes/search

第三方仓库:http://www.vagrantbox.es/

什么是vagrant?

用官方的定义,vagrant——让搭建开发环境如此简单。它可以为我们搭建和配置轻量级的、可重用的、可移植的开发环境。通俗地讲,它是一个用来简化虚拟机配置和管理的命令行工具。 vagrant支持VirtualBox, VMware, AWS以及其他任何虚拟机(这话说的够大,不过也八九不离十)。

先来约定几个关键词 host——宿主,主机,也就是你安装虚拟机软件和vagrant的操作系统; guest/vm——虚拟机,客户机,也就是我们要制作的虚拟机环境。

安装vagrant

根据你的操作系统下载vagrant安装包。 目前支持的host有Mac osx、windows、debian、centos,当然也支持ubuntu、redhat、fedora了,你懂的。

截至本文完成,最新版本是1.8.1。

自行安装虚拟机管理软件,我使用的是mac osx + virtualbox(http://www.virtualbox.org)

仓库里的box镜像下载有点慢,如果下载不了,我放了个centos的box文件在百度云,http://pan.baidu.com/s/1XkmEM

增加镜像

将镜像添加到本地仓库,有三种方式: 1 使用http绝对地址

vagrant box add precises64 http://files.vagrantup.com/precise64.box

2 使用本地文件(其实从协议来说,和上面一样,只是相当于file:///协议的地址)

vagrant box add precises64 ./precise64.box

3 使用仓库名称

vagrant box add precises64 ubuntu/precise64

这种方式,vagrant会自动在中央仓库查找并下载到本地镜像库中。 vagrant box add ubuntu/precise64 这样省略本地镜像名称,则直接用中央仓库中的镜像名作为本地镜像名,这样做的好处是可以跟仓库中的镜像对应。

最后,执行下面的命令看一下:

$ vagrant box list
ubuntu/precise64                     (virtualbox, 20160120.0.0)

创建虚拟机:

类似于增加本地仓库镜像的操作,该操作使用镜像创建一个vm虚拟机。 方式一 使用http绝对地址

$ mkdir -p ~/vm/precise64
$ vagrant init http://files.vagrantup.com/precise64.box

该操作只是使用该仓库名创建Vagrantfile文件,并不拉取镜像,在vagrant up的时候才会拉取镜像。

方式二 使用仓库名称

vagrant init ubuntu/precise64

方式三 使用Vagrantfile文件 直接编写,或通过http/git从网络上拉取到Vagrantfile文件后,作为虚拟机配置文件。如:

$ mkdir -p ~/vm/coreos;cd !$
$ git clone https://github.com/coreos/coreos-vagrant.git

推荐镜像

推荐bento组织的作品,linux发行版和对应的版本号比较全,如下网址查看镜像名称即可:

https://app.vagrantup.com/boxes/search?utf8=✓&sort=downloads&provider=&q=bento

使用时,直接使用镜像名,无需记住网址,都是形如:bento/{发行版名称}-{操作系统版本号}

vagrant init bento/ubuntu-16.04
vagrant init bento/centos-7.3

Helloword

创建工作目录:

$ mkdir -p /Users/pollyduan/vm/ubuntu
$ cd /Users/pollyduan/vm/ubuntu
$ vagrant init ubuntu/precise64
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/precise64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/precise64' is up to date...
==> default: Setting the name of the VM: ubuntu_default_1455425367263_71317
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default:
    default: Guest Additions Version: 4.1.44
    default: VirtualBox Version: 5.0
==> default: Mounting shared folders...
    default: /vagrant => /Users/pollyduan/vm/ubuntu

$ vagrant ssh
Welcome to Ubuntu 12.04.5 LTS (GNU/Linux 3.2.0-97-virtual x86_64)

vagrant@vagrant-ubuntu-precise-64:~$

现在,你已经在vm虚拟里面了。你可以使用软件管理工具进行安装环境。如ubuntu里的apt-get、centos里的yum或者新版fedora里的dnf

还有一种方式,就是自己编写Vagrantfile文件,前面的例子,去掉注释,就是一个最简单的vagrant file的例子 - hello vagrant,vagrant init命令的作用就在于此:

$ vi /Users/pollyduan/vm/ubuntu/Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/precise64"
end

启动试试看:

$ vagrant up
$ exit #退出vm
$ vagrant halt #关闭虚机
$ vagrant destroy #删除虚机

创建的虚机工作目录在用户目录下的 ~/VirtualBox VMs/ 里。

本文涉及的基本使用,一般情况下够用了。

转载于:https://my.oschina.net/polly/blog/800060

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值