基本款:以內嵌的 Shell Script 初始化 (14:25)
如果想讓虛擬機啟動時,自動執行一些初始化腳本,可透過 Vagrant 的 provisioning 功能,把初始化的 script 寫在 Vagrantfile
裡面的 provision
區塊。
譬如說,如果我們想讓 ubuntu/trusty64
這個虛擬機 instance 第一次啟動時,自動安裝一份 Redis server,可以將 Vagrantfile
寫成:
Vagrant.configure(2) do |config| config.vm.box = "ubuntu/trusty64" config.vm.provision "shell", inline: <<-SHELL sudo apt-get update sudo apt-get install -y redis-server SHELL end
雖然這個例子動用到 Ruby 語言的 heredoc 語法,但即使你不懂 Ruby,也不必擔心(偷偷告訴你:其實我也不熟 Ruby⋯⋯),反正 vagrant init
產生出來的 Vagrantfile
樣板,擺滿了易懂的註解。只要你看得懂英文,大部分情況下,幾乎不太需要另外找 Vagrant 說明文件;照著改就對了!
影片中也詳細解釋 provisioning 機制的觸發時機:
0 comments