Docker 컨테이너에서 로컬로 호스팅되는 MySQL 데이터베이스에 연결하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-10-26 18:42:30
원래의
194명이 탐색했습니다.

How to Connect to a Locally Hosted MySQL Database from a Docker Container?

Docker 컨테이너에서 로컬로 호스팅되는 MySQL 데이터베이스에 연결

애플리케이션을 프로덕션으로 전환할 때 컨테이너 사용을 피하는 것이 바람직합니다. 호스팅된 데이터베이스. 이 문서에서는 Docker Compose를 사용하여 로컬 MySQL 데이터베이스를 컨테이너에서 실행 중인 애플리케이션에 연결하는 방법을 설명합니다.

Docker Compose 구성

제공된 Docker Compose 구성은 사용법을 보여줍니다. MySQL 데이터베이스를 위한 별도의 'app-db' 서비스입니다. 대신 로컬 MySQL 데이터베이스에 연결하려면 Compose 파일을 다음과 같이 조정하세요.

<code class="yaml">version: '3'
services:
  web-app:
    ...

  app-db:
    image: mysql:8
    environment:
    - MYSQL_ROOT_PASSWORD=password
    - MYSQL_DATABASE=<database-name>
    ports:
      - 3306:3306</code>
로그인 후 복사

호스트 이름을 통해 연결

'localhost'를 사용하는 대신 컨테이너의 내부 호스트 이름은 'host.docker.internal'을 사용하세요. 이는 Docker 호스트의 IP 주소로 확인되어 로컬 데이터베이스에 연결할 수 있게 해줍니다.

Linux 구성

Linux 시스템의 경우 Docker를 시작할 때 다음 매개변수를 추가하세요. 컨테이너:

<code class="bash">--add-host host.docker.internal:host-gateway</code>
로그인 후 복사

사용 예

웹 애플리케이션에서 데이터베이스 연결 정보를 'localhost' 대신 'host.docker.internal'을 사용하도록 바꿉니다. 예:

db = mysql.connector.connect(
    host="host.docker.internal",
    ...
)
로그인 후 복사

이러한 변경 사항을 구현하면 로컬 MySQL 데이터베이스를 Docker 컨테이너에서 실행되는 애플리케이션에 성공적으로 연결할 수 있습니다.

위 내용은 Docker 컨테이너에서 로컬로 호스팅되는 MySQL 데이터베이스에 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!