Mac 에서 Docker DB 접근 시 예상치 못한 Host IP 가 찍혔던 점에 관하여

Ziggy Stardust·2024년 12월 29일
0

MariaDB 에서 테스트할 것이 있어 진행 중이였습니다.
공격 표면을 줄이기 위해 별도의 유저를 만들어 권한을 부여했습니다. (로컬호스트 범위)
이제 DB에 커넥션을 하려니 접근 제한이 떴습니다.

무엇이 문제인가 싶어 로그를 확인하니 DB에 접근한 호스트의 IP는 127.0.0.1 이 아닌 192. 어쩌구 하는 IP 였습니다.

영문을 모를 IP 라 호스트 PC 인 Mac 과 Docker DB 의 IP를 확인했지만 일치하는게 없었습니다.

-- MAC 에서 IP 확인
ifconfig

-- Container 내부에서 IP 확인
ip addr

결론

Docker 에선 격리된 네트워크를 구축합니다.
Mac 은 Linux 가 아니라 Hyperkit 을 통해 Docker 를 구동합니다. 그리고 이 Hyperkit 의 가상 네트워크 인터페이스를 통해 Docker 의 컨테이너에 접근합니다.

그렇기에 Hyperkit 의 가상 네트워크 인터페이스의 IP 가 호스트로써 사용된 것이라 추측할 수 있습니다.

이 IP 는 개인 IP 입니다.

정리

같은 컴퓨터라도 Host 컴퓨터와 Docker 컨테이너는 격리된 네트워크를 가집니다. 따라서 localhost 로서 접근하는 것은 힘듭니다.

따라서 DB 유저를 '%' 범위로 확장했습니다.

profile
spider from mars

0개의 댓글