IT, 개발/Error

Error starting userland proxy: listen tcp 0.0.0.0:XXXX: bind: address already in use (포트 중복으로 인한 에러)

  • -
반응형

도커 이미지 다운로드시 가끔 포트가 겹쳐 에러가 나타나는 경우가 있다. 

 

에러코드

Error starting userland proxy: listen tcp 0.0.0.0:XXXX: bind: address already in use

 

이럴 경우 이미 다른 소프트웨어(예: 리액트, 앵귤러, mysql 등등) 이미 설치하여 이미 포트를 사용하고 있는 경우다. 이럴 경우 먼저 포트를 사용하고 있는지 확인하고 해당 포트를 삭제하거나 혹은 포트를 변경하면 된다. (개인적으로 삭제 kill 은 임시적인 방편이라 사용중이 프로그램 포트를 변경하였다)

 

현재 맥북을 사용하고 있으며, netstast  혹은 lsof 명령어로  포트를 확인한다. 터미널(리눅스=)에서 아래의 코드와 같이 쓰면 현재 내가 사용하고 있는 포트틀 확인할 수 있다. 필자는 참고로 5432 포트 에러가 떴다.

 

 

사용중인 포트 확인하기

 

$ netstat -anv | grep LISTEN

 

 

$ sudo lsof -i :XXXX

sudo lsof -i tcp:XXXX

(둘 중 하나 입력)

 

 

필자의 경우 postgresql이라는 프로그램이 :5432 포트를 쓰고 있었다. 이럴 경우 이미설치하였던 도커 이미지들을 삭제한다. (필자는 여러 컨테이너를 설치하고 에러 나서 다시 지우려고 하기때문에 모든 컨테이너를 삭제를 할 예정이라서 모든 컨테이너를 지울 경우에만 꼭 아래 명령어를 치기를 권장한다)

docker-compose down docker rm -fv $(docker ps -aq)위의 코드를 치면 현재 생성된 컨테이너를  모두 삭제가 된다. 그런 다음 port kill 하는 방법은kill - 9 "PID"중요한 것은 PID의 경우 sudo lsof -i 명령어를 치면 PID 번호가 나오는데, 위 이미지에서는 136라고 나오는데 포트가  아닌 PID 번호인점을 잊지말자. 개인적으로는 kill 은 그 포트가 삭제가 아니라 잠시 정지? 시키는 개념이기 때문에 해당 프로그램 기본(Default) 번호를 변경하였다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.