Подтвердить что ты не робот

Как Vagrant может переместить несколько портов на одном компьютере?

Мне интересно, как настроить файл бродяг, который выведет машину с двумя переправленными портами. Это мой текущий Vagrantfile, который пересылает страницу 8080:

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

Спасибо!

4b9b3361

Ответ 1

Если вы хотите переслать два порта, вы можете просто добавить еще одну строку:

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

Лучшим способом, на мой взгляд, является настройка частной сети (или сети только для хоста), так что вам не нужно вручную пересылать все порты.

Смотрите мой пост здесь: Переадресация обратного порта бродяг?

Дополнительные советы

Если вы используете функцию :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'

Ответ 2

Вы можете пересылать столько портов, сколько хотите (если эти хосты не используются), выполните следующие действия:

# 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

Ответ 3

Если вы используете кухню шеф-повара, то порты устанавливаются в файле .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

Ответ 4

Я не смог получить доступ к своему приложению без аргумента хоста:

ng serve --host 0.0.0.0