[도커] Docker Error Response From Daemon: Driver Failed Programming External Connectivity On Endpoint
2023. 6. 20. 15:26ㆍERROR
docker-compose를 이용해서 MySQL 컨테이너를 실행했을때 위와 같은 에러가 계속해서 발생했다.
이미지를 run하려고 했을 때, docker-compose에서 설정한 포트 번호가 이미 사용중이라고 한다.
그런데 나는 3306번 포트를 MySQL 컨테이너 이외에는 할당한 적이 없었다. 뿐만아니라 계속 MySQL 컨테이너로 할당했던 3306 포트가 docker-compose를 재실행 할 때마다 위와 같은 에러가 발생하는 것이 이상하다고 생각했다.
3306 포트에서 실행중이던 process를 죽이고 나면 MySQL 컨테이너를 수동으로 다시 띄울 수 있었다. 하지만 이렇게 띄운 MySQL 서버에는 스프링 부트 Container에서 연결 요청이 실패하였다.
처음에는 포트 포워딩을 잘못했는지, 보안 그룹 설정에 문제라도 있었는지 계속 살펴보았는데 문제점을 찾을 수 없었다.
그러다가,
위의 링크에서 해결할 수 있는 방법을 찾았다.
도커가 가지고 있는 캐시 때문에 해당 포트(3306)를 사용중이라고 인식했던 것 같다.
아래의 명령어를 통해 도커의 캐시를 삭제하여 문제를 해결했고, Spring Boot 서버에서도 DB와 연결을 할 수 있었다.
삭제한 파일은 도커 네트워크 관련 DB로, 도커 서비스가 재 실행될 때 DB 파일은 다시 생성된다.
sudo service docker stop
sudo rm /var/lib/docker/network/files/local-kv.db
sudo service docker start
'ERROR' 카테고리의 다른 글
RestDocs - ClassCastException (0) | 2022.12.16 |
---|---|
RestDocs - include file not found (0) | 2022.12.16 |
톰캣 JAR 누락으로 인한 오류 (0) | 2022.11.15 |
Error injecting constructor, java.lang.NoSuchMethodError와 spring-boot-maven-plugin not found (0) | 2022.10.31 |
MySQL WorkBench: could not acquire management access for administration (0) | 2022.07.13 |