현재 위치: > 최신 기사 목록> Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 응용 프로그램의 데이터 마이그레이션 프로세스를 단순화합니다.

Docker Compose, Nginx 및 MariaDB를 사용하여 PHP 응용 프로그램의 데이터 마이그레이션 프로세스를 단순화합니다.

M66 2025-06-25

소개

데이터 마이그레이션은 종종 PHP 응용 프로그램의 개발 및 배포 중에 필요한 단계입니다. 기존 데이터를 새로운 환경으로 마이그레이션하려면 데이터 무결성을 보장 할뿐만 아니라 프로세스의 효율성과 안정성을 보장합니다. 이것은 docker compose, nginx 및 mariadb의 조합을 사용하여 쉽게 달성 할 수 있습니다. 이 기사에서는 이러한 도구를 사용하여 특정 작동 단계 및 구성 예제를 통해 데이터를 PHP 응용 프로그램으로 마이그레이션하는 방법을 자세히 소개합니다.

준비

Docker Compose는 구성 파일을 통해 여러 서비스를 균일하게 정의하고 시작할 수있는 멀티 컨테이너 응용 프로그램 관리 도구입니다. NGINX는 HTTP 요청을 해당 PHP 컨테이너로 전달하기위한 리버스 프록시 서버 역할을합니다. MariaDB는 응용 프로그램 데이터를 저장하는 데이터베이스 서비스입니다. 먼저 서비스를 정의하려면 Docker Compose 파일을 작성해야합니다.

Docker Compose 구성

Docker Compose 구성 파일에서 Nginx와 Mariadb의 두 가지 서비스를 정의해야합니다. 기본 구성 예는 다음과 같습니다.
  
버전 : '3'
서비스 :
  nginx :
    이미지 : nginx
    포트 :
      - 80:80
    볼륨 :
      - ./nginx.conf:/etc/nginx/conf.d/default.conf
  mariadb :
    이미지 : Mariadb : 10.5
    환경:
      -Mysql_root_password = 비밀
    볼륨 :
      - ./data:/var/lib/mysql

이 구성에서 Nginx 서비스는 공식 미러 및 맵 포트 80을 호스트 포트에 사용합니다. MARIADB 서비스는 MariaDB 공식 이미지를 사용하고 환경 변수를 통해 루트 사용자의 비밀번호를 설정합니다. 데이터 디렉토리는 또한 영구적 인 스토리지에 장착됩니다.

nginx 구성

다음으로 NGINX를 구성하여 HTTP 요청을 PHP 응용 프로그램 컨테이너에 올바르게 전달할 수 있는지 확인해야합니다. 다음은`nginx.conf` 구성의 단순화 된 예입니다.
  
서버 {
    80;
    Server_Name LocalHost;

    위치 / {
        proxy_pass http : // php-app;
        proxy_set_header 호스트 $ 호스트;
    }
}

여기서는 모든 HTTP 요청을 PHP-App 이라는 PHP 컨테이너로 전달하고 요청 된 호스트 헤더 정보를 전달합니다.

서비스를 시작하십시오

구성이 완료되면 다음 명령으로 서비스를 시작할 수 있습니다.
  
Docker -Compose Up -D

이것은 nginx 및 mariadb 용 Docker 컨테이너를 시작합니다. http : // localhost를 방문하여 nginx가 제대로 작동하는지 확인할 수 있습니다.

데이터 마이그레이션

MySQL 데이터베이스의 내보내기 파일 'Backup.sql'이 이미 Mariadb 컨테이너로 가져 오려고한다고 가정 해 봅시다. 다음 명령을 통해 데이터베이스 가져 오기를 완료 할 수 있습니다.
  
Docker Exec -I<mariadb_container_name> mysql -uroot -p<password> <backup.sql

이 명령에서 Mariadb 컨테이너의 이름입니다. 루트 사용자의 암호이며 백업 .SQL 은 가져올 데이터베이스 백업 파일입니다.

정기적 인 백업

데이터 백업을 정기적으로 수행하려면 간단한 쉘 스크립트를 작성할 수 있습니다.
  
#!/bin/bash
도커 exec<mariadb_container_name> mysqldump -uroot -p<password><database_name> > 백업 .sql

이 스크립트는 Backup.sql 이라는 백업 파일을 만듭니다. Mariadb 컨테이너의 이름입니다. 루트 비밀번호입니다. 백업하려는 데이터베이스의 이름입니다.

요약

Docker Compose, Nginx 및 MariadB를 사용하면 PHP 응용 프로그램 및 데이터베이스를 쉽게 컨테이너화하고 효율적인 데이터 마이그레이션 및 백업을 가능하게 할 수 있습니다. 컨테이너화 된 응용 프로그램은 배포 및 마이그레이션에 편리 할뿐만 아니라 NGINX 프록시 전달을 통해서도 다양한 환경 간의 데이터 마이그레이션을보다 쉽고 안정적으로 만듭니다.