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 중국어 웹사이트의 기타 관련 기사를 참조하세요!