- 追加された行はこの色です。
- 削除された行はこの色です。
#topicpath
----
#contents
** VagrantのBoxを作成する(とあとエラー回避) [#ab1dd863]
[[VagrantのBOXを「複製&配布して他人と共有する」方法 | vdeep>http://vdeep.net/vagrant-package]] にしたがって、やってみました。
# vagrant package default --output hogehoge.box
とすることで、自分が使用しているイメージををBox化できる。Box化したファイルはネット上のBoxと同様に、
# vagrant box add hogehoge_vm /xxx/xxx/hogehoge.box
などとパス指定で、自分のVagrantに入れることが可能。
ただし、
# vagrant init ubuntu/xenial64
したヤツから派生したOSイメージは、なぜかエラーに。。エラーを見ると、
ubuntu-xenial-16.04-cloudimg-console.log ってファイルを出力しようとしたけど、そこにパスがないよと怒られてコケてる。。よくよくみてみると、
~/.vagrant.d/boxes/hogehoge_vm/0/virtualbox/box.ovf
のところにフルパスが確かに書いてある。。
ググってみると、回避するには、
[[Get rid of ubuntu-xenial-16.04-cloudimg-console.log | Betacloud Solutions>https://betacloud.io/get-rid-of-ubuntu-xenial-16-04-cloudimg-console-log/]]
ココに情報がありました。自分が使用中のVagrantfile に、
config.vm.provider "virtualbox" do |vb|
vb.customize [ "modifyvm", :id, "--uartmode1", "disconnected" ]
end
を追加した後、package出力することで、フルパスの記述を回避できました。。
うーん、よく分からんorz
** 一個のVagrantfile で複数のvmを管理する。 [#h34b474a]
# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
config.vm.box = "ubuntu/xenial64"
config.vm.define :agent001 do | agent001 |
agent001.vm.hostname = "agent001"
agent001.vm.network :private_network, ip: "192.168.33.11"
end
config.vm.define :agent002 do | agent002 |
agent002.vm.hostname = "agent002"
agent002.vm.network :private_network, ip: "192.168.33.12"
end
こんな感じでできる。
# vagrant up で両方起動し、
# vagrant ssh agent001 とかでそれぞれのvmにログイン出来る。
さらに、それぞれのサーバが通信出来るよう、内部で利用可能なIPアドレスを設定している。
**外からアクセスする [#la4ae1b9]
作成したvmは通常、そとの世界からアクセス出来ません((vagrant sshとかのコマンドのぞく))。なので、外から繋ぐには、ポートフォワードさせます。
# 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: 8888
コレで、127.0.0.1:8888にアクセスすると80ポートへport forwardingします
----
この記事は
#vote(おもしろかった,そうでもない)
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}