vagrant在windows下的使用

vagrant在windows下的使用

下载安装 VirtualBox :https://www.virtualbox.org/

下载安装 Vagrant :http://www.vagrantup.com/

下载需要使用的 box :

添加box

如下添加一个debian的box

E:\ubuntu\vagrant-box-ngixn-php-fpm-mysql-redis-nodejs>vagrant box add  debian p
ackage.box
==> box: Adding box 'debian' (v0) for provider:
    box: Downloading: file://E:/ubuntu/vagrant-box-ngixn-php-fpm-mysql-redis-nod
ejs/package.box
    box: Progress: 100% (Rate: 11.0M/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'debian' (v0) for 'virtualbox'!

vagrantfile

在任何vagrant工程下面都有一个vagrantfile,就像makefile一眼规,用来配置vagrant的欣慰所创建的虚拟机信息。

vagrant使用

添加镜像
vagrant box add abc   boxpath[url|path]  #abc未名称

开发到开发目录
  1. vagrant init abc #初始化

    D:\work\test>vagrant init debian
    A Vagrantfile has been placed in this directory. You are now
    ready to vagrant up your first virtual environment! Please read
    the comments in the Vagrantfile as well as documentation on
    vagrantup.com for more information on using Vagrant.

  2. vagrant up #启动

    D:\work\test>vagrant up
    Bringing machine 'default' up with 'virtualbox' provider...
    ==> default: Importing base box 'debian'...
    ==> default: Matching MAC address for NAT networking...
    ==> default: Setting the name of the VM: test_default_1413449093680_48484
    ==> default: Clearing any previously set network interfaces...
    ==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    ==> default: Forwarding ports...
    default: 22 => 2222 (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: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    ==> default: Machine booted and ready!
    ==> default: Checking for guest additions in VM...
    ==> default: Mounting shared folders...
    default: /vagrant => D:/work/test

  3. vagrant ssh #ssh登录

    D:\work\test>vagrant ssh
    ssh executable not found in any directories in the %PATH% variable. Is an
    SSH client installed? Try installing Cygwin, MinGW or Git, all of which
    contain an SSH client. Or use your favorite SSH client with the following
    authentication information shown below:
    
    Host: 127.0.0.1
    Port: 2222
    Username: vagrant
    Private key: C:/Users/zhangwei_f/.vagrant.d/insecure_private_key

开启ssh后使用xshell登录

网络配置

Vagrant的网络有三种模式

1、较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用 ,在Vagrantfile中配置:

config.vm.network :forwarded_port, guest: 80, host: 8080
guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。
    
    开启这个后,如果vagrant已经启动了,在命令行输入 vagrant reload 重启机器,就可以再宿主机伤使用 localhost:8080来访问虚拟机的localhost:80 。

2、如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中配置:

config.vm.network :private_network, ip: "192.168.1.104"
192.168.1.104 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可

3、如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置:

config.vm.network :public_network

目录映射:

既然是开发环境,那么开发工作肯定还是需要在本地完成,而不是都要进到虚拟机中去完成,虚拟机就好好在后台运行服务就好了,不然就本末倒置了,所以这里就需要使用目录映射功能,将本地的目录映射到虚拟机的对应目录。

默认情况下,当前的工作目录,会被映射到虚拟机的 /vagrant 目录,当前目录下的文件可以直接在 /vagrant 下进行访问,当然也可以在通过 ln 创建软连接,如

ln -fs /vagrant/wwwroot /var/www

来进行目录映射,当然,从自动化配置的角度,能不进系统就不需要进系统,所以在Vagrant也可以进行目录映射的操作:

config.vm.synced_folder "wwwroot/", "/var/www"

前面的参数 “wwwroot/” 表示的是本地的路径,这里使用对于工作目录的相对路径,这里也可以使用绝对路径,比如: “d:/www/”

后面的参数 “/var/www” 表示虚拟机中对应映射的目录。

一些命令
vagrant up (启动虚拟机)
vagrant halt (关闭虚拟机——对应就是关机)
vagrant suspend (暂停虚拟机——只是暂停,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用)
vagrant resume (恢复虚拟机 —— 与前面的暂停相对应)
vagrant destroy (删除虚拟机,删除后在当前虚拟机所做进行的除开Vagrantfile中的配置都不会保留)
  vagrant reload  (重启)

  ==============补充=====================

在本地使用vagrant up命令是不能正常启动,(未知原因)

vagrant在windows下的使用

但是使用vagrant reload命令后,正常启动,项目正常访问

vagrant在windows下的使用

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112427.html原文链接:https://javaforall.net

(0)
上一篇 2021年11月8日 上午6:00
下一篇 2021年11月8日 上午7:00


相关推荐

  • Z Code是什么?一款可视化AI编程工具如何降低开发门槛?

    Z Code是什么?一款可视化AI编程工具如何降低开发门槛?

    2026年3月12日
    17
  • Java语言对字节数组截取指定长度

    Java语言对字节数组截取指定长度Java通过arraycopy来实现字节数组截取,类比于C语言memcpy,代码如下:System.arraycopy(src,srcPos,dest,destPos,length);参数解析:src:byte源数组srcPos:截取源byte数组起始位置(0位置有效)dest,:byte目的数组(截取后存放的数组)destPos:截取后存放的数组起始位置(0位置有效)…

    2022年6月6日
    208
  • linux系统管理初学者指南 基于centos 7.6下载_centos查看运行的进程

    linux系统管理初学者指南 基于centos 7.6下载_centos查看运行的进程目录一、进程概念1.进程组成部分:2.僵尸进程:3.线程:4.上下文切换:5.中断处理:6.进程的属性二、ps查看进程工具1.-aux弹出消息及详解2、linux进程有5种基本状态三、free查看内存使用情况1.弹出消息及详解:三、uptime查看系统负载1.弹出消息含意如下:四、top命令动态性能分析工具1.每行信息2.top快捷键:五、lsof命令用于查看你进程调用、打开的文件六、kill关闭进程1)ki

    2025年9月5日
    8
  • opencv+python实现图像匹配—-模板匹配、特征点匹配

    opencv+python实现图像匹配—-模板匹配、特征点匹配文章目录模板匹配与特征匹配 python 的版本及依赖的库的安装 opencv python 模板匹配 1 匹配材料 TemplateMatc python 特征匹配 2 匹配材料 BFMatching 描述特征点运行结果不精确基于 FLANN 的匹配器 FLANNbasedMa 描述特征点基于 FLANN 的匹配器 FLANNbasedMa 定位图片参考资料模

    2026年3月19日
    13
  • Linux下 Cache数据库安装详解

    Linux下 Cache数据库安装详解Cache 数据库介绍 Cache 数据库是美国 Intersystems 公司产品 后关系型数据库 PostRelation 中的领头羊 Cache 数据库对大多数国内 IT 人员来说还是比较陌生 然而在国外特别是国外的医疗领域 在美国和欧洲的 HIS 系统 医疗卫生管理信息系统 中 CACHE 数据库所占的比例是最大的 被医疗界公认为首选数据库

    2026年3月17日
    2
  • OpenClaw走红 凸显AI智能体潜力与风险

    OpenClaw走红 凸显AI智能体潜力与风险

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号