个人理解:Vagrant 是对 Virtualbox 操作的封装,可以快速批量操作多个虚拟机环境。
在实际开发过程中,可以与同事使用同一个镜像保证开发环境的统一性。
安装环境
-
Virtualbox:https://www.virtualbox.org/wiki/Downloads
-
下载虚拟机主程序 并 同时下载 对应版本的扩展包 -
Vagrant:https://www.vagrantup.com/
-
Vagrant Boxe 下载
-
Box 一般的使用同事打包好的镜像文件,也可以在网上下载别人打包好的镜像 -
Vagrant 官方镜像仓库:https://app.vagrantup.com/boxes/search -
清华大学镜像 Ubuntu:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/vagrant/ -
中科大镜像 CentOS:https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/ -
中科大镜像 Ubuntu:https://mirrors.ustc.edu.cn/ubuntu-cloud-images/vagrant/
安装步骤
-
Virtualbox 虚拟机安装
-
VirtualBox 扩展包
-
Vagrant 安装
-
执行
vagrant version
检查是否安装成功:> vagrant version
Installed Version: 2.2.18
Latest Version: 2.2.18
基本命令
Box 操作
命令 | 说明 |
---|---|
vagrant box list |
查看 box 列表 |
vagrant box add [box_path] --name [box_name] |
添加 box box_path:添加的box文件路径 box_name:box名称 |
vagrant box remove [box_name] |
移除 box |
虚拟机操作
命令 | 说明 |
---|---|
vagrant init [box_name] |
新建虚拟机 |
vagrant up |
启动虚拟机 |
vagrant halt |
停止虚拟机 |
vagrant suspend |
暂停虚拟机 |
vagrant resume |
恢复虚拟机 |
vagrant reload |
重载虚拟机,并重新加载配置 |
vagrant destroy |
删除虚拟机 |
vagrant package |
打包虚拟机 |
vagrant status |
查看状态 |
vagrant ssh |
使用 vagrent用户直接登录虚拟机中 在虚拟机中可以使用: sudo -i 切换为 root 账户CTRL + D 退出 ssh |
vagrant ssh-config |
查看ssh 配置信息,可以使用其他工具 ssh 链接虚拟机 默认不支持密码登录,IdentityFile 是 私钥文件路径 如果需要密码登录,则需要在虚拟机中自行设置 |
vagrant provision |
重新执行 vagrantfile 中 provision 部分的 shell 命令 |
vagrant version |
查看 Vagrant 版本 |
插件安装
# 在访客系统上自动安装主机的 VirtualBox Guest Additions
vagrant plugin install vagrant-vbguest
# 使用国内镜像源 安装插件
vagrant plugin install 插件名称 --plugin-clean-sources --plugin-source https://gems.ruby-china.com/
配置文件
每次修改完配置文件需要 重载虚拟机
设置 虚拟机内存 和 CPU
config.vm.provider :virtualbox do |vb|
# 设置虚拟机内存为 2048MB
vb.memory = 2048
# 设置虚拟机为 2核CPU
vb.cpus = 2
end
设置映射目录
映射目录需要在虚拟机系统中 安装 VBoxGuestAdditions:
-
在 Vbox 虚拟机中挂载 VBoxGuestAdditions.iso
镜像 -
切换到 root 用户: sudo -i
-
查看虚拟光盘是否挂载: lsblk
-
挂载光盘到系统目录: mount /dev/sr0 /mnt/
-
更新并安装: yum update -y && yum install -y gcc kernel-devel
-
重启虚拟机,后安装: [root@localhost mnt]# ./VBoxLinuxAdditions.run
-
查看 “vboxguest” 是否被加载: [root@localhost ~]# lsmod |grep vbox
-
加载成功后关闭服务器 配置 Vagrantfile
文件,保存后 启动虚拟机:vagrent up
# config.vm.synced_folder "[宿主机目录]", "虚拟机目录"
config.vm.synced_folder "./project", "/vagrant_data"
映射端口和 IP
# 将虚拟机 IP 映射到 192.168.33.10,宿主机可直接访问
config.vm.network "private_network", ip: "192.168.33.10"
# 端口映射 将虚拟机中的 80 端口映射到本机 8080 端口
config.vm.network "forwarded_port", guest: 80, host: 8080
# 默认端口转发只会使用 tcp,可以通过配置使用udp转发
config.vm.network "forwarded_port", guest: 80, host: 8080,protocol: "udp"
只是介绍简单的配置使用,详细配置方法参考文档:https://www.vagrantup.com/docs
原文始发于微信公众号(两双筷子):Vagrant 上手笔记
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/78477.html