Docker에서 Host에 있는 MySQL 접속하기

환경)

  • Docker Container를 생성하는 Host에 MySQL 서버가 동작중이다.
  • Docker Container에서 App이 실행될 때 localhost 3306포트로 database를 열려고 한다.

위와 같은 경우 일반적으로 Docker는 Bridge 네트워크 모드로 동작하여 별도의 MySQL docker를 띄워주고 서로 연결해주지 않는 이상 3306포트에는 아무 프로세스가 띄워져 있지 않기 때문에 접속 실패로 뜬다. 따라서, Host에 있는 3306포트로 열린 MySQL과 연결하기 위해서는 네트워크 모드를 host로 변경해서 동작시킨다.

사용법은 아래와 같다.

docker run --network="host" docker_app

docker를 실행할 때 위와 같이 –network 옵션을 써주면 된다.

Leave a Reply