Vagrant VMware windows10 포트 충돌 해결 방법

장후후·2023년 7월 10일
0

현상

vagrantfile에서 내가 설정한 port가 자꾸 출동이 나서 새로운 포트를 할당해준다고 한다.

vmware vagranfile 예시

아래는 vagrant로 vmware 가상머신을 올리기위한 vagranfile 예시이다.

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
    config.vm.define "user" do |cfg|
      cfg.vm.box = "StefanScherer/windows_10"
      cfg.winrm.retry_limit = 30
      cfg.winrm.retry_delay = 30
      cfg.winrm.username = "user"
      cfg.winrm.password = "password"
      cfg.vm.communicator = "winrm"
      cfg.vm.provider "vmware_workstation" do |vb|
        vb.vmx["sched.cpu.max"] = "50"
        vb.cpus = 2
        vb.memory = 4092
        vb.gui = true
        vb.allowlist_verified = true
      end
      cfg.vm.host_name = "jsh-vm"
      cfg.vm.network "public_network", ip: "192.168.0.128"
      cfg.vm.network "forwarded_port", guest: 22, host: 33220, auto_correct: true, id: "ssh"
      cfg.vm.network "forwarded_port", guest: 3389, host: 33890, auto_correct: true, id: "remote_desktop"
      cfg.vm.network "forwarded_port", guest: 4026, host: 34026, auto_correct: true, id: "remote_debugger"
    end
  end

해결 방법

포트를 점유하고 있는 프로세스 확인 및 종료

호스트 머신에서 아래 명령어로 포트를 점유하고 있는지 확인하고 해당 프로세스를 종료해봤다.

netstat -ano | findstr /C:":33220 " /C:"33890 " /C:"34026 " /C:"55985 " /C:"55986"
taskkill /PID <실행중인 프로세스 ID> /F

잘 살아난다..
아무리 반복해도 죽지 않는다.

VMware 종료

무슨 방법을 써도 죽지 않다가, vmware 프로그램 자체를 종료하고 시작해보라는 글을 발견!

그러고보니, 계속 VMware WorkStation을 켜놓은 상태로 vagrant 커맨드를 실행했었는데, 추천 해준 방법대로 그대로 해봤다. 즉, VMware WorkStation 프로그램 자체를 종료하고 다시 reload를 해본것이다.

VMware를 종료 후, 포트가 혹시나 자동으로 해제 되었을까하여, 확인해봤다..

아쉽게도, 아직 살아있다... 계속 프로세스를 죽여본다..

오! 한 세번 정도 죽여보니 없어진다! 이게 여러번 죽여서 없어진건지, 아니면 시간이 지나면 자연스럽게 없어지는지는 확실하지 않다.

추가) VMware WorkStation 실행시, 포트를 점유하는 프로세스를 중지 하는 것이, 여러번 시도하면 되긴 된다. 그런데, Vagrant가 정상적으로 실행이 안되는 현상이 발생하는 것 같아서, 그냥
VMware WorkStation을 꼭 종료하길..

VMware 다시 실행

다시 원하는 포트대로 설정이 잘 된다...

결론

정말 별거 아닌 내용인데, 너무 많은 시간을 허비해서, 내 자신을 원망하며,

같은 문제를 겪고 있는 분들께 도움이 되길 바라면서.. 글을 정리해봤다 ㅎㅎ

profile
Backend Developer, DevOPS Engineer, IIoT, IoT

0개의 댓글