-

docker 삽질기록 - (Ports are not available)

smileostrich 2021. 9. 26. 15:03

평소 문제없이 작업중이던 docker의 mysql이 뜬금없이 아래와 같은 문제를 발생시켰다.

```

ERROR: for mysql  Cannot start service mysql: Ports are not available: listen tcp 0.0.0.0:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

```

아래와 같은 과정(3306 포트를 점유하고 있는 프로세스 kill)으로 해결하려 했으나, mysql을 local에 설치한적 조차 없는 PC였기에 아무런 result를 반납하지 않았다.

```

netstat -ano | findstr 3306

```

 

그래서 windows에서 자체적으로 port를 관리하고 있는가?로 생각했는데 정확히 들어맞았다.

netsh interface ipv4 show excludedportrange protocol=tcp

위 명령어를 입력하게 되면, 제외된 범위의 port를 발견할 수 있고, 3306이 이에 포함되어있다.

 

자, 이제 어떻게 해결할것인가?만 남았는데,

2가지 선택지가 있다.

1. 범위 제외

```

net stop winnat

net start winnat

```

2. docker(mysql) port mapping 변경

 

(1번 방법은 윈도우가 범위를 제외시킨데 나름대로 이유가 있을것이라 생각해서, 필자는 2번 방법을 채택하였다.)

(다른분들은 저처럼 황당한 에러때문에 고통 받지 않으시길 바라는 마음에 글을 남깁니다)

'-' 카테고리의 다른 글

첫 회고  (2) 2023.05.28
(번외) 메모리 관리  (0) 2021.11.14