[Docker] docker mysql 포트 충돌 에러 (feat. 3306)
2023. 3. 9. 20:25ㆍProject/시네마그램
도커 컨테이너 생성 시 3306 포트는 이미 사용 중이라 정상적으로 생성되지 못하고 에러가 발생했습니다.
Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/networ
k address/port) is normally permitted.
cmd를 이용해 어떤 프로세스가 3306을 사용 중인지 확인해 보겠습니다.
netstat -ano | findstr :3306
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 5664
TCP 0.0.0.0:33060 0.0.0.0:0 LISTENING 5664
TCP [::]:3306 [::]:0 LISTENING 5664
TCP [::]:33060 [::]:0 LISTENING 5664
이를 통해 PID 5664 프로세스가 현재 3306을 사용 중이라는 것을 알 수 있습니다.
여기서 해결할 수 있는 방법은 두 가지인데
1. 해당 PID를 kill 하거나
- taskkill /F /PID 5664
2. 사용하지 않는 포트를 호스트 포트로 사용하는 것입니다.
저는 3307 포트를 호스트 포트로 지정한 후 다시 해당 명령어를 실행했을 때 성공했습니다.
docker-compose -f docker-compose-local.yml up
+ 해당 컨테이너가 정상적으로 실행이 되었는지 cmd창을 통해 최종 확인해 볼 수도 있습니다.
docker ps
'Project > 시네마그램' 카테고리의 다른 글
JPA Entity클래스에서 id를 int가 아닌 Long 타입으로 하는 이유 (0) | 2023.03.27 |
---|---|
[Error] Docker 컨테이너 연결시 : Communications link failure (0) | 2023.03.22 |
[Cinemagram] 공통기능은 묶어보자 AOP, 마지막 확인 - (16) (0) | 2023.02.13 |
[Cinemagram] 댓글 등록 및 삭제 - (15) (0) | 2023.02.08 |
[Cinemagram] 소셜 로그인 (구글, 네이버) 및 NFT 이미지 추가 - (14) (1) | 2023.01.31 |