文档章节

vagrant+virtualbox使用小记

hiwill
 hiwill
发布于 09/16 18:27
字数 1292
阅读 10
收藏 0

virtualbox是类似vmware workstation的虚拟机软件,而且是开源的,支持多平台,在win10上也能顺畅运行。win10上安装vagrant能在终端xshell上像linux一样命令行操作,也便于开发环境的切换,很不错。
vagrant怎么用?
1,下载安装

vagrant下载:https://www.vagrantup.com/downloads.html
virtualbox下载:https://www.virtualbox.org/wiki/Downloads

2,vagrant类似docker,当然你也可以像vmare workstation一样用它
vagrant操作box来启动虚拟机,box类似docker的image。
box官方下载地址http://www.vagrantbox.es,当然可能没有你喜欢的版本或你不信任这些box,可以自己制作。

3,制作自己的box(此例基于virtualbox,方便;vmware也行,稍微麻烦一些)
首先,在virtualbox上安装虚拟机,比如到debian官网下载镜像,然后挂载镜像安装即可。
可做一些简单的调优,去掉usb/音频设备,开发中很少用到;安装步骤就不多说了,中间按提示操作即可。

随后,以root账号进入系统(这里是debian9.5)
(1)替换阿里源

cd /etc/apt/
cp source.list source.list.bk
vi source.list
deb http://mirrors.aliyun.com/debian stretch main contrib non-free
deb-src http://mirrors.aliyun.com/debian stretch main contrib non-free
deb http://mirrors.aliyun.com/debian stretch-updates main contrib non-free
deb-src http://mirrors.aliyun.com/debian stretch-updates main contrib non-free
deb http://mirrors.aliyun.com/debian stretch-backports main non-free contrib
deb-src http://mirrors.aliyun.com/debian stretch-backports main non-free contrib
deb http://mirrors.aliyun.com/debian-security stretch/updates main contrib non-free
deb-src http://mirrors.aliyun.com/debian-security stretch/updates main contrib non-free
(2)更新系统并安装一些用到的工具
apt-get update -y
apt upgrade -y
apt install -y vim net-tools wget git sudo
(3)为制作vagrant box做准备
创建vagrant用户
adduser vagrant
添加vagrant用户的公共密钥
mkdir -m 0700 -p /home/vagrant/.ssh

wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O /home/vagrant/.ssh/authorized_keys

chmod 600 /home/vagrant/.ssh/authorized_keys
chown -R vagrant:vagrant /home/vagrant/.ssh
设置sudoers
echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
(4)安装VBoxGuestAdditions,这个类似vmware workstation的vmtools
下载:http://download.virtualbox.org/virtualbox/5.2.18/VBoxGuestAdditions_5.2.18.iso
挂载到虚拟机光驱
mkdir -p /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom
apt-get install -y linux-headers-$(uname -r) build-essential
./VBoxLinuxAdditions.run
装完后重启一下(其实也不用,是重启很快)
apt clean  清理缓存包
随后关机

如果不装VBoxGuestAdditions,回头vagrant up启动时会报错:
Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant
The error output from the command was:
mount: unknown filesystem type 'vboxsf'


4,开始制作vagrant box
进入虚拟机文件目录,这里是C:\Users\l\VirtualBox VMs\centos7.5
命令格式:
vagrant package --base <VBoxName> --output <saveFileName>
xhsell里
cd C:\Users\l\VirtualBox VMs\centos7.5
vagrant package --base debian9.5 --output debian9.5.box
不一会儿就生成了box文件,自己做的有点大,700M,将其移到D:\debianbox目录
(最小化box,可卸载一些暂时不用的包apt-get remove -y linux-headers-$(uname -r) build-essential,碎片整理磁盘dd if=/dev/zero of=/EMPTY bs=1M,rm -rf /EMPTY)box小便于快速启动哦

5,vagrant来操作box
xshell里
cd D:\debianbox
添加box
vagrant box add debian9 debian9.5.box
查看box列表
vagrant box list
初始化虚拟机,在目录下会生成Vagrantfile
vagrant init debian9
启动虚拟机
vagrant up
查看当前状态
vagrant status

vagrant常用命令:
vagrant box add 添加box
vagrant init    初始化box
vagrant up   启动本地环境
vagrant ssh  通过ssh登录本地环境所在虚拟机(xshell显示不出来,??)
vagrant halt    关闭本地环境
vagrant suspend 暂停本地环境,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用
vagrant resume  恢复本地环境,与前面的暂停相对应
vagrant reload  修改了Vagrantfile后,使之生效,重新加载
vagrant destroy 彻底移除本地环境,删除后在当前虚拟机所做进行的除开Vagrantfile中的配置都不会保留
vagrant box list    显示当前已经添加的box列表
vagrant box remove  删除相应的box
vagrant package 打包命令,可以把当前的运行的虚拟机环境进行打包
vagrant plugin  用于安装卸载插件
vagrant status  获取当前虚拟机的状态
vagrant global-status   显示当前用户Vagrant的所有环境状态

6,用xshell连接虚拟机(这里要在virtualbox界面配置该虚拟机的网络---高级---端口转发)
Windows 终端并不支持SSH,所以需要安装第三方SSH客户端, 比如:Xshell,Putty,Cmder, 这里是Xshell
在Xshell里面新建连接,然后输入IP:127.0.0.1,端口号:2222,都是默认的

选择Public Key登录, 在用户密钥处 点击浏览 , 选择刚刚配置虚拟机目录下的子目录 \.vagrant\machines\default\virtualbox\private_key , 然后确认登陆即可

如果想使用账户密码登录 , 可以进入虚拟系统后 , 修改 /etc/ssh/sshd_config , 设置 PasswordAuthentication yes
 

© 著作权归作者所有

共有 人打赏支持
hiwill
粉丝 12
博文 124
码字总数 80503
作品 0
朝阳
使用vagrant+virtualbox打造ngnix+apache+mysql+swoole环境

项目构架: 关于vagrant+virtualbox 的搭建请参考以下这个帖子 http://my.oschina.net/u/998304/blog/501331

杨太化
2015/09/10
47
0
使用vagrant+VirtualBox搭建虚拟开发环境

Vagrant是一款用来构建虚拟开发环境的外挂工具,可以简化虚拟机配置和管理。它底层支持VirtualBox、VMware、AWS等,非常适合使用php/python/ruby/java语言开发web应用,“代码在我机子上运行...

bluehawksky
05/23
0
0
vagrant+VirtualBox配置环境

记录自己以后省得忘记: 1,之前只听说过VirtualBox后来又出来个vagrant于是补了一下脑,大概知道差不多就是命令行形式的虚拟机,这样方便在windows下来搭建linux开发环境。 2,安装配置相对...

天马行空的鱼
2015/12/16
243
0
配置Pycharm4.5.4调试edX Devstack

一、准备 1.在Ubuntn上利用vagrant+VirtualBox搭建好了edXDeveloper Stack,并能成功访问 2.在Ubuntu下安装好了Pycharm4.5.4并成功激活 二、配置 1.转换路径到本机/devstack/ 2.开启vagrant...

楠木楠
2016/09/15
68
0
ETH钱包助记词、私钥、Keystore以及创建过程

助记词 助记词拥有钱包的所有权,可以通过助记词随意转移该钱包下的资产而无需密码。助记词可以生成很多子钱包,目前大部分以太坊钱包做法是默认把助记词生成的第一个地址作为默认地址,实际...

产品小汪汪
08/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

VSCode 搭建Vue开发环境之Vue CLI

一、简介说明 1.关于VS Code开发工具,安装和配置,更多可以参考以前文章 2.关于Vue.js,Vue是一个优秀的渐进式前端框架,不仅易于上手,还便于与第三方库或既有项目整合。 3.关于Vue是使用方...

tianma3798
22分钟前
2
0
MySQL 相关博客整理

1. 《深入理解 MySQL 底层实现》 简评:文章从硬盘底层存储原理讲解到MySQL存储原理,其中涉及InnoDB 和 Myisam 中 B+Tree 的应用,以及常见数据库优化思路,算是一片很不错的讲解MySQL原理的...

科陆李明
32分钟前
2
0
pada rabbitmq server mangage

查看配置文件 ubuntu@node4:/etc/rabbitmq$ lltotal 28drwxr-xr-x 2 rabbitmq rabbitmq 4096 Jun 6 13:52 ./drwxr-xr-x 104 root root 12288 Sep 26 11:39 ../-rw-r--r-- ......

qwfys
39分钟前
0
0
SpringBoot进阶

慕课网链接 表单数据的验证 在pojo类属性的上面添加注解 @Entitypublic class Girl { @Id @GeneratedValue private Integer id; @NotBlank(message = "这个字段...

踏破铁鞋无觅处
47分钟前
1
0
【SylixOS】QT-QWS流程介绍

QWS简介 QWS(QT Windows System)是QT自行开发的窗口系统,体系结构类似X Windows的C/S结构。QWS Server在物理设备上显示,QWS Client实现界面,两者通过socket进行彼此的通讯。在很多嵌入式系...

suokin
47分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部