背景
Windowsで使っていたVagrantfileをそのままMacに持ってきたら、VMの中からインターネットに出れず四苦八苦したこの感情を昇華させたい。
前提環境
- OS(物理PC): MacOSX(10.14.6)
- VirtualBox: 6.0.8
- Vagrant: 2.2.5
完成する環境
- CentOS(VM): 7.6 (実際に構築したときのversion。)
Windowsから持ってきたVagrantfile
Vagrantfile
Vagrant.configure("2") do |config|
# Proxy
config.proxy.http = "http://proxy:port"
config.proxy.https = "http://proxy:port"
config.proxy.no_proxy = "localhost,127.0.0.1"
# OS
config.vm.box = "centos/7"
config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
config.vm.network "private_network", ip: "192.168.250.250"
config.ssh.insert_key = false
# Port forwarding
config.vm.network "forwarded_port", guest: 3000, host: 3000
# Spec
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
vb.cpus = "1"
end
# Username
config.ssh.username = "vagrant"
end
結論
これじゃ名前解決できなかった。
curlもyumもできない。
何度ふて寝したことか。
vb.customize ["modifyvm", :id,"--natdnshostresolver1", "on"]
をつけよう。
上記のVagrantfileのMacOS版
これでインターネットに出れました👏
Vagrant.configure("2") do |config|
# Proxy
config.proxy.http = "http://proxy:port"
config.proxy.https = "http://proxy:port"
config.proxy.no_proxy = "localhost,127.0.0.1"
# OS
config.vm.box = "centos/7"
config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
config.vm.network "private_network", ip: "192.168.250.250"
config.ssh.insert_key = false
# Port forwarding
config.vm.network "forwarded_port", guest: 3000, host: 3000
# Spec
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
vb.cpus = "1"
vb.customize [
"modifyvm", :id,
"--natdnshostresolver1", "on",
]
end
# Username
config.ssh.username = "vagrant"
end
よいVMライフを!