產品說明
Vagrant 是一款開源的開發環境自動化工具,旨在提供一個跨平台且一致的工作流程。它並非虛擬化引擎(如 VirtualBox),而是作為虛擬化技術的上層包裝與管理器。透過一個名為 Vagrantfile 的純文字設定檔,使用者可以定義虛擬機的規格(如 CPU、記憶體)、作業系統版本以及網路設定。
Vagrant 最強大的地方在於其「可重現性」。當新成員加入專案時,只需下載程式碼並執行啟動指令,系統就會自動下載映像檔(Boxes)並完成所有配置,確保每位開發者的環境與生產伺服器完全一致。它也支援與 Ansible 等工具整合,在啟動時自動安裝必要的資料庫與開發套件。
核心特色:
- 跨平台一致性:無論 Host 是 Windows 或 macOS,虛擬環境內的行為皆完全一致。
- 龐大的映像檔庫:透過 Vagrant Cloud,可輕鬆下載各種預先配置好的 Linux 發行版。
- 資料夾同步:支援將實體主機的程式碼目錄同步到虛擬機內,實現「本地編輯,遠端運行」。
- 多供應商支援:支援 VirtualBox、VMware、Hyper-V 甚至 Docker 作為底層容器。
常用指令
Vagrant 的操作非常直覺,主要透過命令列執行環境的生命週期管理:
基礎操作流程
# 初始化 Vagrant 環境,產生預設的 Vagrantfile
vagrant init ubuntu/focal64
# 啟動虛擬環境 (若為第一次執行,會自動下載映像檔)
vagrant up
# 透過 SSH 進入該虛擬機
vagrant ssh
# 暫停虛擬機 (儲存目前狀態)
vagrant suspend
# 關閉並刪除虛擬機 (釋放硬碟空間)
vagrant destroy
| 常用指令 | 功能說明 | 使用時機 |
|---|---|---|
| vagrant status | 查看環境運行狀態 | 確認虛擬機是否正在運作中時 |
| vagrant reload | 重啟並讀取新設定 | 修改 Vagrantfile 中的網路或資源分配後 |
| vagrant provision | 重新執行自動化配置 | 當更新了 Ansible 腳本或安裝腳本後時 |
| ** | ||
![]() | ||
![]() | ||
![]() | ||
![]() |




