web-dev-qa-db-ja.com

Vagrantは同じマシン上の複数のポートをどのように転送できますか?

2つのポートが転送されたマシンをセットアップするVagrantファイルをセットアップする方法を知りたいです。これは、8080ページを転送している現在のVagrantfileです。

Vagrant.configure("2") do |config|

  config.vm.box = "precise32"
  config.vm.box_url = "http://files.vagrantup.com/precise32.box"
  config.vm.provider "virtualbox"

  config.vm.network :forwarded_port, guest: 8080, Host: 8080
  config.vm.provision :Shell, :path => "start.sh", :args => "'/vagrant'"

  config.vm.network :public_network
end

ありがとう!

55
fegemo

2つのポートを転送する場合は、次のような行を追加するだけです。

config.vm.network :forwarded_port, guest: 8080, Host: 8080
config.vm.network :forwarded_port, guest: 5432, Host: 5432

私の意見では、より良い方法は、プライベートネットワーク(またはホストオンリーネットワーク)をセットアップして、すべてのポートを手動で転送する必要がないようにすることです。

ここで私の投稿を参照してください: Vagrant reverse port forwarding?

追加のヒント

:idエントリを定義するときに:forward_port機能を使用する場合、それぞれが一意であることを確認する必要があります。そうでなければ、それらはお互いを壊し、最後に定義されたものが通常勝ちます。

例えば:

config.vm.network "forwarded_port", guest: 8080, Host: 8080, id: 'was_appserver_http'
config.vm.network "forwarded_port", guest: 9043, Host: 9043, id: 'ibm_console_http'
config.vm.network "forwarded_port", guest: 9060, Host: 9060, id: 'ibm_console_https'
88
Mingyu

次のように、必要な数のポートを転送できます(これらのポートが未使用の場合):

# for Redis
config.vm.network "forwarded_port", guest: 6379, Host: 6379
# for HTTP
config.vm.network "forwarded_port", guest: 80, Host: 80
# for MySQL
config.vm.network "forwarded_port", guest: 3306, Host: 3306

ポートの範囲を転送する場合は、for loopも次のように使用できます。

for i in 81..89
          config.vm.network :forwarded_port, guest: i, Host: i
end
for i in 8080..8089
          config.vm.network :forwarded_port, guest: i, Host: i
end
10
thucnguyen

Chef kitchenを使用している場合、ポートは.kitchen.ymlファイルで次のように設定されます。

---
driver:
  name: vagrant
  network:
    - ["forwarded_port", {guest: 80, Host: 40080}]
    - ["forwarded_port", {guest: 443, Host: 40443}]
provisioner:
...

これにより、次の行が.kitchen/kitchen-vagrant/Vagrantfileに追加されます。

c.vm.network(:forwarded_port, {:guest=>80, :Host=>40080})
c.vm.network(:forwarded_port, {:guest=>443, :Host=>40443})

キッチンを破壊し、キッチンを作成することを忘れないでください。

見る:

http://www.jeeatwork.com/?p=76

https://github.com/test-kitchen/kitchen-vagrant#-network

https://docs.chef.io/config_yml_kitchen.html

1

Host引数なしではアプリにアクセスできませんでした:

ng serve --Host 0.0.0.0
0
Anerty