전공영역 공부 기록

[django] 도커 DB 컨테이너 접속할 때 종종 마추지는 에러

악분 2024. 8. 25. 01:22
반응형

django에서 로컬에서 실행중인 mysql 컨테이너에 접속할 때 아래처럼 에러가 발생했습니다.

Can't connect to local MySQL server through socket '/tmp/mysql.sock'

 

위 에러는 DB Host를 localhost로 설정할 때 마주칩니다. DB Host를 localhost에서 127.0.0.1로 변경하면 오류가 사라집니다.

 

왜 localhost에서 127.0.0.1로 변경하면 문제가 해결될까요?

 

localhost는 IPv6, IPv4를 표현하는 도메인으로서 IPv6가 우선순위가 더 높습니다. 따라서 내 PC에서 IPv6를 쓸 수 있으면 localhost의 IP는 IPv6주소입니다. 도커 mysql 컨테이너는 보통 IPv4를 사용하도록 네트워크를 설정하기 때문에 IPv4주소를 갖습니다. IPv6를 사용할 수 있는 PC에서 django를 실행하면, django는 IPv6로 mysql 컨테이너에 접속하기 때문에 접속 오류가 발생합니다.

반응형