[에러] 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.
2024. 4. 4. 10:34ㆍ에러 창고
728x90
SMALL
[Reason]
docker를 설치하고 docker에 mysql을 설치 후, 3306포트에 연결하여 실행하고자 할 때 발생되는 에러이다.
이는 해당 3306 포트에 다른 서비스가 실행되고 있어 mysql을 해당 포트에 연결하여 실행할 수 없다는 의미이다.
[Solution]
(1) 이전 서비스 종료 후 실행
netstat -ano | findstr {포트 번호} 명령어를 통해 해당 포트를 사용하고 있는 서비스의 pid를 확인해준다.
taskkill /pid {포트 번호} /f 명령어를 통해 해당 포트에서 실행 중인 서비스의 pid를 통해 서비스를 종료해주고 다시
docker run -e mysql_root_password={비밀번호} -d -p 3306:3306 mysql:8 명령어를 실행하여 실행해준다.
(2) 다른 포트 사용
netstat -ano 명령어를 통해 사용하고자 하는 포트 번호가 사용 중인지 확인해준다.
나는 3307 포트를 사용할 것이기 때문에 위의 이미지처럼 사용하고 있는 서비스는 존재하지 않는다는 것을 확인했다.
docker run -e mysql_root_password={비밀번호} -d -p 3307:3306 mysql:8 명령어를 통해 3307포트와 docker의 3306포트를 연결하여 mysql을 실행해주면 된다.
728x90
반응형
LIST