Vagrant安裝virtualbox 虛擬機VirtualBox及輕量級的CentOS Windows下載安裝VMware和CentOS7

我們的目的僅僅是通過vagrant+virtualbox的方式安裝一個centos7,也可以參考下邊兩篇博客搭建centos7。

虛擬機VirtualBox及輕量級的CentOS

Windows下載安裝VMware和CentOS7

 

1 下載安裝vagrant

01 訪問Vagrant官網
https://www.vagrantup.com/

02 點擊Download
Windows,MacOS,Linux等

03 選擇對應的版本

04 傻瓜式安裝

05 命令行輸入vagrant,測試是否安裝成功

 

2 下載安裝virtual box

01 訪問VirtualBox官網
https://www.virtualbox.org/

02 選擇左側的“Downloads”

03 選擇對應的操作系統版本

04 傻瓜式安裝

05 [win10中若出現]安裝virtualbox快完成時立即回滾,並提示安裝出現嚴重錯誤
(1)打開服務
(2)找到Device Install Service和Device Setup Manager,然後啓動
(3)再次嘗試安裝

 

3 安裝centos7

01 創建centos7文件夾,並進入其中[目錄全路徑不要有中文字符]

02 在此目錄下打開cmd,運行vagrant init centos/7
此時會在當前目錄下生成Vagrantfile,同時指定使用的鏡像爲centos/7,關鍵是這個鏡像在哪裏,我已經提前準備好了,名稱是virtualbox.box文件

03 將virtualbox.box文件添加到vagrant管理的鏡像中
(1)下載網盤中的virtualbox.box文件
(2)保存到磁盤的某個目錄,比如D:\virtualbox.box
(3)添加鏡像並起名叫centos/7:vagrant box add centos/7 D:\virtualbox.box
(4)vagrant box list 查看本地的box[這時候可以看到centos/7]

04 centos/7鏡像有了,根據Vagrantfile文件啓動創建虛擬機
來到centos7文件夾,在此目錄打開cmd窗口,執行vagrant up[打開virtual box觀察,可以發現centos7創建成功]

05 以後大家操作虛擬機,還是要在centos文件夾打開cmd窗口操作
vagrant halt 優雅關閉
vagrant up 正常啓動

06 vagrant常用命令
(1)vagrant ssh
進入剛纔創建的centos7中
(2)vagrant status
查看centos7的狀態
(3)vagrant halt
停止/關閉centos7
(4)vagrant destroy
刪除centos7
(5)vagrant status
查看當前vagrant創建的虛擬機
(6)Vagrantfile中也可以寫腳本命令,使得centos7更加豐富

vagrant box list 查看目前已有的box
vagrant box add 新增加一個box
vagrant box remove 刪除指定box
vagrant init 初始化配置vagrantfile
vagrant up 啓動虛擬機
vagrant ssh ssh登錄虛擬機
vagrant suspend 掛起虛擬機
vagrant reload 重啓虛擬機
vagrant halt 關閉虛擬機
vagrant status 查看虛擬機狀態
vagrant destroy 刪除虛擬機

但是要注意,修改了Vagrantfile,要想使正常運行的centos7生效,必須使用vagrant reload

 

至此,使用vagrant+virtualbox搭建centos7完成,後面可以修改Vagrantfile對虛擬機進行相應配置


 

4 若想通過Xshell連接centos7

01 使用centos7的默認賬號連接
在centos文件夾下執行vagrant ssh-config
關注:Hostname Port IdentityFile
IP:127.0.0.1
port:2222
用戶名:vagrant
密碼:vagrant
文件:Identityfile指向的文件private-key

02 使用root賬戶登錄
vagrant ssh 進入到虛擬機中
sudo -i
vi /etc/ssh/sshd_config
修改PasswordAuthentication yes
passwd修改密碼,比如abc123
systemctl restart sshd
使用賬號root,密碼abc123進行登錄

 

5 Vagrantfile通用寫法

複製代碼
# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
  # The most common configuration options are documented and commented below.
  # For a complete reference, please see the online documentation at
  # https://docs.vagrantup.com.

  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://vagrantcloud.com/search.
  config.vm.box = "centos/7"

  # Disable automatic box update checking. If you disable this, then
  # boxes will only be checked for updates when the user runs
  # `vagrant box outdated`. This is not recommended.
  # config.vm.box_check_update = false

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine. In the example below,
  # accessing "localhost:8080" will access port 80 on the guest machine.
  # NOTE: This will enable public access to the opened port
  # config.vm.network "forwarded_port", guest: 80, host: 8080

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine and only allow access
  # via 127.0.0.1 to disable public access
  # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  # config.vm.network "private_network", ip: "192.168.33.10"

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  config.vm.network "public_network"

  # Share an additional folder to the guest VM. The first argument is
  # the path on the host to the actual folder. The second argument is
  # the path on the guest to mount the folder. And the optional third
  # argument is a set of non-required options.
  # config.vm.synced_folder "../data", "/vagrant_data"

  # Provider-specific configuration so you can fine-tune various
  # backing providers for Vagrant. These expose provider-specific options.
  # Example for VirtualBox:
  #
  # config.vm.provider "virtualbox" do |vb|
  #   # Display the VirtualBox GUI when booting the machine
  #   vb.gui = true
  #
  #   # Customize the amount of memory on the VM:
  #   vb.memory = "1024"
  # end
    config.vm.provider "virtualbox" do |vb|
        vb.memory = "4000"
        vb.name= "jack-centos7"
        vb.cpus= 2
    end
  #
  # View the documentation for the provider you are using for more
  # information on available options.

  # Enable provisioning with a shell script. Additional provisioners such as
  # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
  # documentation for more information about their specific syntax and use.
  # config.vm.provision "shell", inline: <<-SHELL
  #   apt-get update
  #   apt-get install -y apache2
  # SHELL
end
複製代碼

 

6 box的打包分發

01 退出虛擬機
vagrant halt

02 打包
vagrant package --output first-docker-centos7.box

03 得到first-docker-centos7.box

04 將first-docker-centos7.box添加到其他的vagrant環境中
vagrant box add first-docker-centos7 first-docker-centos7.box

05 得到Vagrantfile
vagrant init first-docker-centos7

06 根據Vagrantfile啓動虛擬機
vagrant up [此時可以得到和之前一模一樣的環境,但是網絡要重新配置]

 

 

所有內容皆爲個人總結或轉載別人的文章,只爲學習技術。 若您覺得文章有用,歡迎點贊分享! 若無意對您的文章造成侵權,請您留言,博主看到後會及時處理,謝謝。
 
轉自:https://www.cnblogs.com/hero123/p/13818537.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章