vagrant在windows下的使用

举报
lxw1844912514 发表于 2022/03/27 03:17:37 2022/03/27
【摘要】 下载安装 VirtualBox :https://www.virtualbox.org/ 下载安装 Vagrant :http://www.vagrantup.com/ 下载需要使用的 box : 添加box 如下添加一个debian的box E:\ubuntu\vagrant-box-ngixn-ph...

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

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

下载需要使用的 box :

添加box

如下添加一个debian的box


    
  1. E:\ubuntu\vagrant-box-ngixn-php-fpm-mysql-redis-nodejs>vagrant box add debian p
  2. ackage.box
  3. ==> box: Adding box 'debian' (v0) for provider:
  4. box: Downloading: file://E:/ubuntu/vagrant-box-ngixn-php-fpm-mysql-redis-nod
  5. ejs/package.box
  6. box: Progress: 100% (Rate: 11.0M/s, Estimated time remaining: --:--:--)
  7. ==> 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 #初始化

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

    
          
    1. D:\work\test>vagrant up
    2. Bringing machine 'default' up with 'virtualbox' provider...
    3. ==> default: Importing base box 'debian'...
    4. ==> default: Matching MAC address for NAT networking...
    5. ==> default: Setting the name of the VM: test_default_1413449093680_48484
    6. ==> default: Clearing any previously set network interfaces...
    7. ==> default: Preparing network interfaces based on configuration...
    8. default: Adapter 1: nat
    9. ==> default: Forwarding ports...
    10. default: 22 => 2222 (adapter 1)
    11. ==> default: Booting VM...
    12. ==> default: Waiting for machine to boot. This may take a few minutes...
    13. default: SSH address: 127.0.0.1:2222
    14. default: SSH username: vagrant
    15. default: SSH auth method: private key
    16. default: Warning: Connection timeout. Retrying...
    17. default: Warning: Connection timeout. Retrying...
    18. ==> default: Machine booted and ready!
    19. ==> default: Checking for guest additions in VM...
    20. ==> default: Mounting shared folders...
    21. default: /vagrant => D:/work/test
  3. vagrant ssh #ssh登录

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

开启ssh后使用xshell登录

网络配置

Vagrant的网络有三种模式

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


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

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


    
  1. config.vm.network :private_network, ip: "192.168.1.104"
  2. 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” 表示虚拟机中对应映射的目录。

一些命令

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

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

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

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

 

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/100028491

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。