Docker

[Docker Error] Bind for 0.0.0.0:8080 failed: port is already allocated

patrick-star 2023. 5. 4. 08:55
728x90

도커 컨테이너를 시작(docker start / docker restart) 할 때 마다 항상 마주한 문제였다.

문제의 이유는 해석 그대로다. 내가 사용하려는 포트가 이미 할당되어 있다는 것

이전에는 이미 사용하고 있던 포트들을 일일이 kill 하는 방식으로 문제를 해결했었지만
그때만 해결될 뿐 다음날 또 도커 컨테이너를 시작할 때 똑같은 문제가 발생해서 항상 귀찮았다.

다행히 좀 더 근본적인 문제의 원인과 해결책을 정리해놓은 사이트를 찾았다. 생각해보면 당연한 얘기였다.

문제의 원인

이미 host machine에서 사용하고 있던 포트를 컨테이너에서 사용하려고 할 때 발생하는 문제

예를 들면, 이미 다른 컨테이너가 8080 포트를 사용하고 있기 때문에 새로 시작하려는 컨테이너가 8080 포트를 사용하지 못한다는 뜻

해결

1) 해당 포트를 사용하고 있는 컨테이너의 동작을 멈춘다.

2) 이미 동작하고 있는 컨테이너의 동작을 멈출 수 없다면 내가 사용하려고 하는 컨테이너의 포트번호 매핑을 변경해줘야 한다.

  • 출처

https://www.baeldung.com/linux/docker-address-already-in-use

'Docker' 카테고리의 다른 글

[Docker] 2-2. 도커 허브, 이미지, 컨테이너  (0) 2023.05.17
[Docker] 2-1. 도커의 동작 원리  (0) 2023.05.17
[Docker] 1-2. 서버와 도커  (0) 2023.05.16
[Docker] 1-1. 도커란 무엇인가  (0) 2023.05.15
Docker 작업 순서  (0) 2023.04.18