Search

[docker] docker 컨테이너에서 local 의 DB 에 접속하기

타입
트러블슈팅
태그
docker
PostgreSQL
상태
Published
생성일
2023/02/02 05:51
최종 편집 일시
2023/07/18 01:46
2 more properties

이슈 상황 및 원인

개발 시에 웹 서버는 docker 컨테이너로 띄우고, DB 는 docker 컨테이너나 외부DB 가 아닌 로컬의 DB 와 붙히고 싶은 경우가 있다.
그렇지만..

docker 의 localhost 와 머신의 localhost 는 다르다

docker 컨테이너 입장에서 localhost 는 자신 컨테이너를 가리키는 것이기 때문에 localhost 로는 우리 머신의 로컬DB 와 연결이 안 된다.

이슈 해결

방법은 생각보다 간단한데, host 명을 localhost 대신 host.docker.internal 를 사용하면 해결된다.
예를 들어 .env 환경변수에서 정의한 DB HOST 명을 localhost 에서 host.docker.internal 로 변경하면 된다.
참고