vagrant 快速上手(基于Debian9)

vagrant 是一款管理虚拟机的软件,我使用它作为分布式开发的环境配置。

Vagrant是 hashicorp 公司的产品,这家公司也非常有名气,主要做数据中心 PaaS 和虚拟化,大名鼎鼎的 Consul 就是他们家的。

这篇文章介绍我在 Debian 9下的的安装过程和一些常用命令,作个备忘。

1. 环境准备

vagrant默认是与virtubox组合使用,在使用之前,要先将两者都安装好:

2. 概念理解

安装完成后就可以正式开始使用了。在使用前,我们要先理解一些 vagrant 的基本概念。

  • Vagrant命令:提前定义一个Vagrantfile文件,便可以通过这个命令行工具启动一个虚拟机

  • Vagrantfile:是用来定义vagrant project的,使用ruby语法,但实际使用我们并不需要了解ruby。

  • Boxes:就是vagrant封装的虚拟机系统,我们也可以基于这些box做自己的系统。

    boxes vagrant拉起虚机的时候会自动下载,如果自动下载速度太慢,也可以手动下载:boxex的下载地址

vagrant up命令会搜索当前文件夹下的Vagrantfile并启动虚机。在虚拟机中会有一个/vagrant目录,这跟Vagrantfile是同一级目录,和宿主机上的目录文件是同步的。

vagrant 还有非常多的概念,这里就不展开了,可以直接看官方文档

  • push
  • plugins
  • providers

我是从 kuma 这个应用过来的,他们有一个完善的vagrant,可以参考学习:

 git clone https://github.com/kumahq/kuma-demo.git
 cd kuma-demo/vagrant
 vagrant up

3. Vagrantfile常用配置

  • 本机与虚拟机同步的目录

    config.vm.synced_folder "d:/workspace", "/workspace"
    
  • 端口转发

    config.vm.network :forwarded_port, guest: 80, host: 8080
    
  • 私网IP设置

    config.vm.network :forwarded_port, guest: 80, host: 8080
    
  • 公网IP设置

    config.vm.network :public_network, ip: “192.168.10.10”
    

Debian 9 配置 vue 开发环境

最近开始捡起来前端 vue 的开发,这里记录一下环境搭建的过程。

安装nodejs

官网教程 适用于大部分场景了。在这里我安装当前最新的LTS版 v14.x,两个命令即可:

curl -sL https://deb.nodesource.com/setup_14.x | bash -
apt-get install -y nodejs

很不幸,在我的机器上出现了下面的错误:

The AppStream system cache was updated, but some errors were detected, which might lead to missing metadata.

image-20201125122253041

实际上我也没有头绪。随意敲了几个命令,upgrade 了几个包解决了,具体原因还是不清楚:

apt-get update
apt-get upgrade
apt autoremove

image-20201125122823911