vagrant+virtualBox快速创建虚拟机,vagrant国内镜像配置

一、国内镜像站

1.Ubuntu

清华大学镜像站,如: https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/bionic/current/bionic-server-cloudimg-amd64-vagrant.box

启动一个 Ubuntu 18.04 的虚拟机:

vagrant init ubuntu-bionic https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/bionic/current/bionic-server-cloudimg-amd64-vagrant.box

2.CentOS

中科大镜像站,如: https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box

启动一个 CentOS 7 的虚拟机:

vagrant init centos7 https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box

vagrant常用命令

//vagrant支持的操作系统列表
https://vagrantcloud.com/boxes/search

vagrant box add hashicorp/bionic64 //下载ubuntu操作系统
vagrant box add centos/7           //下载centosu操作系统

//初始化vagrant目录 , 生成vagrantfile 
vagrant init hashicorp/bionic64   //ubuntu的vagrantfile 
vagrant init centos/7             //centos7的vagrantfile

//根据当前目录下的vagrantfile运行虚拟机
vagrant up --provider=virtualbox       //指定virtualbox作为虚拟化驱动
vagrant up --provider=vmware_desktop   //指定vmware作为虚拟化驱动

//重新启动,跳过初始导入镜像
vagrant reload --provision

//连接虚拟机器
vagrant ssh

//退出虚拟机 , 可再次进入
logout

//将vagrant机器挂起
 vagrant suspend

  //将挂起的机器重新唤醒
 vagrant up

//将机器关机 
vagrant halt

//销毁虚拟机
vagrant destroy

其他操作:

//删除vagrant镜像
vagrant box remove hashicorp/bionic64

 //列出vagrant本地可用的box
 vagrant box list 

//再vagrant ssh里面添加的文件会被映射同步到宿主机,当前执行命令的目录
 touch /vagrant/foo

//vagrant启动脚本 bootstrap.sh
#!/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

修改vagrantfile 以启动脚本

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/bionic64"
  config.vm.provision :shell, path: "bootstrap.sh"
end


//定制开发vagrantfile
https://www.vagrantup.com/docs/boxes/base

//当vagrant创建的虚拟机部署了web服务,宿主机无法访问时,需要修改网络设置,vagrantfile样例如下 ,记住要重启vagrant reload
Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/bionic64"
  config.vm.provision :shell, path: "bootstrap.sh"
  config.vm.network :forwarded_port, guest: 80, host: 4567
end


//vagrantfile网络环境共享,需要依赖ngrok插件,完整文档 :https://www.vagrantup.com/docs/share/
vagrant plugin install vagrant-share
vagrant share

//vagrant支持的多种虚拟机提供者  详细信息网址 https://www.vagrantup.com/docs/providers
VirtualBox, Hyper-V, and Docker 

//以另一种提供者启动
vagrant up --provider=vmware_desktop

磁盘扩展

当使用体验特性的时候,需要设置环境变量
export VAGRANT_EXPERIMENTAL="1"

当只需要开启指定的体验特性,而不是全部的体验特性的时候,可以指定体验特性
export VAGRANT_EXPERIMENTAL="disks"

在vagrantfile文件里将虚拟机设置为100gb
config.vm.disk :disk, size: "100GB", primary: true

高级使用

参考官方链接:Documentation | Vagrant by HashiCorp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值