docker: 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/network address/port) is normally permitted.
아마도 포트의 문제가 아닐까 싶은데, 확인을 해보고 해결 방법을 생각해보자
시도
docker 셋팅
도커 컨테이너를 생성하려고 하는 도중에 벌어진 문제이기 때문에 생성 자체에 문제가 있는지 점검
일단 생성은 제대로 되었음을 알 수 있음
-> 그렇다면 생성은 되는데 실행은 안되는 걸로
에러 메시지를 보니 Ports are not available 이라고 되어있다.
port number가 3306이면 mysql이기 때문에, 여태 프로젝트를 mysql로 진행하여서 그 부분 포트가 아직도 할당 되어 있나? 라는 생각이 들었음
해결
docker 셋팅
cmd에 netstat -ano | findstr 3306 이 명령어를 사용해서 3306 포트를 사용하고 있는지 확인
-> 사용하고 있음이 확인되었음
맨 뒤에 PID가 5080 으로 되어있었기 때문에, tasklist | findstr 5080 이 명령어를 통해서 PID가 5080인 프로세스가 무엇인지 확인
-> 로컬에 설치된 mysql이 해당 포트를 점유하고 있는 것으로 보임 (기존 프로젝트)
해당 프로세스를 종료하고 3306을 연결해보자
-> 종료가 안됨 (이 이유는 아직 잘 모르겠음)
포트를 다른 것으로 연결시켜보자
-> netstat -ano | findstr :3307 해당 명령어를 통해서 3307 포트를 누가 사용하고 있는지 확인
-> 비어있음
-> 해당 포트로 docker의 mysql 연결
-> 해결