UFO ET IT

Vagrant는 동일한 시스템에서 여러 포트를 어떻게 전달할 수 있습니까?

ufoet 2021. 1. 7. 08:20
반응형

Vagrant는 동일한 시스템에서 여러 포트를 어떻게 전달할 수 있습니까?


두 개의 포트가 포워딩 된 머신을 설치하는 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

감사!


두 개의 포트를 전달하려면 다음과 같이 다른 행을 추가하면됩니다.

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

내 생각에 더 좋은 방법은 개인 네트워크 (또는 호스트 전용 네트워크)를 설정하는 것이므로 모든 포트를 수동으로 전달할 필요가 없습니다.

여기 내 게시물 참조 : Vagrant 역방향 포트 포워딩?

추가 팁

항목을 :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'

다음과 같이 원하는만큼 포트를 전달할 수 있습니다 ( 호스트 시스템에서 해당 포트를 사용하지 않는 경우 ).

# 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

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


호스트 인수없이 내 앱에 액세스 할 수 없습니다.

ng serve --host 0.0.0.0

참조 URL : https://stackoverflow.com/questions/17623528/how-can-vagrant-forward-multiple-ports-on-the-same-machine

반응형