docker mysql 3306 포트 충돌

별빛사막·2025년 4월 10일
0

트러블슈팅

목록 보기
4/7
post-thumbnail
(HTTP code 500) server error - 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: An attempt was made to access a socket in a way forbidden by its access permissions.
  1. 3306 포트를 사용 중인 프로세스 ID(PID) 찾기
    명령 프롬프트(CMD)를 관리자 권한으로 실행한 후, 아래 명령어를 입력
netstat -aon | findstr :3306
  1. 해당 PID의 프로세스 강제 종료
    PID를 확인한 후 아래 명령어로 프로세스를 종료
taskkill /PID 1234 /F

결과

문제상황

pc가 새롭게 시작될때마다 docker에서 실행중인 mysql에서 포트 충돌이 발생하는데 이유가 있나?

  1. 컴퓨터를 종료한 뒤에 아래 명령어를 했을때 실행이 되는지, 문제가 발생하는지 실험
cmd 에서
docker exec -it [mysql_container_name] mysql -u root -p

위 명령어로 실행했을때 접속이 제대로 되었다. 그러면 뭐가 문제였을까?

이전에 수업 진행하면서 MySQL Workbench에서 실습을 진행했었는데 여기에서 3306으로 포트가 연결된게 있었나보다..

docker에서도 3306으로 mysql을 실행하다보니 포트 충돌이 발생된 듯 하다. 윈도우에서 mysql 관련된 부분을 제거하니 연결이 잘 됐다.

특히 mysqlServer 부분 제거하니 DBeaver에 연결이 잘 됐다.

profile
조금씩 매일 성장하자

0개의 댓글