ssung_데이터 엔지니어링/12주차_3차 프로젝트

3차 프로젝트_(4)

ssungcohol 2024. 1. 11. 18:49

Docker container 실행 실패

문제

더보기

Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:8080 -> 0.0.0.0:0: listen tcp 0.0.0.0:8080: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

발생하지 않던 위의 메시지가 갑자기 발생..

 

원인 

원인은 포트의 중복된 사용이 있다는 말이었음

이로 인해 정상적으로 container가 실행되지 않음 (docker compose up 실패)

 

powershell에서 내가 지금 사용할 수 없는 포트 번호를 확인할 수 있는 방법이 있음

~$ netsh interface ipv4 show excludedportrange protocol=tcp

 

이와 같은 결과가 나오는데, 결과를 보면 시작포트 부터 끝 포트까지 해당되는 포트 번호를 사용할 수 없다는 뜻

예를 들면, 사용하고자 하는 포트 번호가 11005 번인데 이 번호는 첫번째 포트 번호 범위에 들어가있어 사용할 수 없음


해결방법 

생각보다 해결 방법이 간단하다.

  • powershell을 관리자권한으로 실행
  • shell 창에 명령어 실행 ->  사용불가한 포트번호 확인
~$ netsh interface ipv4 show excludedportrange protocol=tcp
  • 아래의 명령어를 실행하여 사용하고자하는 포트를 예약
netsh int ipv4 add excludedportrange protocol=tcp startport=8000 numberofports=99 store=persistent

코드를 보면 'startport=8000' 부터 'numberofports=99' 99개의 포트를 사용하겠다는 의미입니다.

이렇게 예약을 하고 다시 해당 명령어를 입력하면

~$ netsh interface ipv4 show excludedportrange protocol=tcp

위와 같이 사용하고자 하는 포트 번호가 예약된 것을 확인 할 수 있습니다.

 

꼭! 관리자 권한으로 실행하셔서 입력하시면 정상적으로 원하는 포트 번호 사용하실 수 있습니다!

728x90

'ssung_데이터 엔지니어링 > 12주차_3차 프로젝트' 카테고리의 다른 글

3차 프로젝트_(5)  (0) 2024.01.13
3차 프로젝트_(3)  (0) 2024.01.11
3차 프로젝트_(2)  (0) 2024.01.10
3차 프로젝트_(1)  (0) 2024.01.08