! Error message !
상황: mysql 서버를 설정해두고 이를 위하여 연결하고 있었는데 오류가 뜸
docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp4 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
이러면 포트 충돌의 문제가 일어나고 있는 것이므로,
포트 3306을 쓰고 있는 프로세스를 확인해본다
명령어
netstat -ano | findstr 3306
실행 결과
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 5256
TCP [::]:3306 [::]:0 LISTENING 5256
PID가 5256인 프로세스가 현재 3306을 쓰고 있어서 충돌이 일어나는 것임을 알 수 있다.
PID가 5256인 프로세스를 확인
tasklist | findstr 5256
확인해본 결과
mysqld.exe 가 3306 포트를 쓰고 있어 충돌이 일어남을 확인
이에 대한 방법을 2가지 사용할 수 있다.
1. 다른 포트 강제 종료 시키기
taskkill /pid 5256 /f
이러면 포트 충돌 해결
2. 도커 컨테이너에 다른 포트를 부여하기
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=mysql -d -p 3307:3306 mysql:latest
위와 같이 -p 명령어를 통하여 포트를 변경하였다
'백엔드' 카테고리의 다른 글
[AMPPS] AMPPS의 MyPHPAdmin 오류 (1) | 2024.10.10 |
---|---|
[백엔드] 백엔드에서의 API란? (0) | 2024.08.09 |
[백엔드] 백엔드를 위한 프로그램 언어 정리 (0) | 2024.08.09 |