# Vagrant ![](https://i.imgur.com/IH2rpu5.png) ### 主講人:黃夙賢 --- ## Vagrant - 2010年由HashiCorp公司創立,使用命令列腳本方式構建虛擬機器 - 採用Ruby編寫 - 主要使用VirtualBox提供虛擬化系統 --- ## 安裝vagrant - vagrant[下載連結](https://developer.hashicorp.com/vagrant/downloads) ![](https://i.imgur.com/2Ymv6xX.png) --- ![](https://i.imgur.com/BKvmNh2.png) --- ![](https://i.imgur.com/geraVWT.png) --- ![](https://i.imgur.com/O6q2p5M.png) --- ![](https://i.imgur.com/D0yKeIG.png) --- ![](https://i.imgur.com/VMYrneU.png) --- - 安裝完成後,重新開機 ![](https://i.imgur.com/1VMsFqZ.png) --- ## 利用Vagrant建立虛擬機 - 開啟powershell ![](https://i.imgur.com/GuFWIdd.png =500x) ![](https://i.imgur.com/oZAuAN7.png =400x) --- ## 安裝環境初始設定 - cd ~ (進入家目錄) - mkdir docker_test (建立docker_test虛擬機目錄) - cd docker_test ![](https://i.imgur.com/75jTnWN.png) --- ## 安裝相關外掛 - vagrant plugin install vagrant-vbguest(安裝外掛) - vagrant plugin list (檢視外掛) - vagrant plugin update (更新外掛) ![](https://i.imgur.com/Ni6z1mU.png =700x) ![](https://i.imgur.com/9XEci6Z.png =700x) --- - vagrant init ubuntu/focal64 (初始化focal64版本之ubuntu) - ls (LS,查看初始檔Vagrantfile是否建立) ![](https://i.imgur.com/b4gudO6.png) --- ## 更新虛擬機映像檔 - vagrant box update ![](https://i.imgur.com/6FptZhW.png) --- ## Vagrant file - Vagrantfile是建立Linux系統的腳本(Script)設定檔案,由ruby語法所撰寫 - \#開頭代表註釋 - notepad Vagrantfile (編輯Vagrantfile) ![](https://i.imgur.com/oSf5nwm.png) --- ## 編輯port 對應 - 把虛擬機的80port對到本機的8080 - 存檔後離開 ![](https://i.imgur.com/fzXFAX9.png) ![](https://i.imgur.com/25mhNuS.png) --- ## 啟動虛擬機 - vagrant up ![](https://i.imgur.com/rEiSs4u.png) --- ## 等待安裝完畢 ![](https://i.imgur.com/dx8ETEM.png) --- ## 開啟防火牆 ![](https://i.imgur.com/R6NBoku.png) --- ## 檢查新增之虛擬機 ![](https://i.imgur.com/hhpcfDw.png) --- ## 登入ubuntu - vagrant ssh ![](https://i.imgur.com/RfJ4PBH.png) --- ## 更新系統與套件 - sudo apt update ![](https://i.imgur.com/ZCmz5BD.png =500x) --- ## 升級系統與相關套件 - sudo apt upgrade -y ![](https://i.imgur.com/5yAaIkW.png) --- ## 同時建立兩台linux - cd ~ - mkdir two_servers - cd two_servers - vagarnt init ubuntu/focal64 - notepad Vagrantfile --- - (Vagrantfile內容) ``` Vagrant.configure("2") do |config| config.vm.define "master" do |master| master.vm.box = "ubuntu/focal64" master.vm.network "private_network", ip: "192.168.2.2" master.vm.provider "virtualbox" do |vb| vb.memory = "2048" end end config.vm.define "node1" do |node1| node1.vm.box = "ubuntu/focal64" node1.vm.network "private_network", ip: "192.168.2.3" node1.vm.provider "virtualbox" do |vb| vb.memory = "2048" end end end ``` - vagrant up - vagrant ssh master (或者node1) ---
{"metaMigratedAt":"2023-06-17T18:24:05.912Z","metaMigratedFrom":"YAML","title":"Vagrant","breaks":true,"contributors":"[{\"id\":\"ef0225b9-6c2a-4012-82c9-fa1031d2c4db\",\"add\":2994,\"del\":266}]"}
    139 views