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  (重啟)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM