현재 위치: > 최신 기사 목록> Docker Compose를 사용하여 PHP 개발 환경을 구축하기 위한 전체 가이드: 원스텝 로컬 개발 솔루션

Docker Compose를 사용하여 PHP 개발 환경을 구축하기 위한 전체 가이드: 원스텝 로컬 개발 솔루션

M66 2025-10-30

Docker Compose를 사용하여 PHP 개발 환경을 빠르게 구축

현대적인 개발 방법이 발전함에 따라 개발 환경 구축이 점점 더 자동화되고 표준화되고 있습니다. 경량 컨테이너 오케스트레이션 도구인 Docker Compose는 여러 컨테이너를 쉽게 구성하고 관리하여 PHP 개발 환경을 효율적으로 구축할 수 있습니다. 이 문서에서는 Docker Compose를 사용하여 완전한 PHP 개발 환경을 만드는 방법을 단계별로 설명합니다.

준비

시작하기 전에 Docker와 Docker Compose가 시스템에 설치되어 있고 Docker 서비스가 정상적으로 시작되었는지 확인하세요.

Docker Compose 파일 만들기

프로젝트의 루트 디렉터리에 docker-compose.yml이라는 파일을 만듭니다. 이 파일은 PHP 개발 환경을 정의하고 관리하는 데 사용됩니다.

PHP 컨테이너 추가

docker-compose.yml 파일에 다음 구성 콘텐츠를 추가합니다.

 버전: '3'
서비스:
  PHP:
    이미지: php:7.4-apache
    포트:
      - 8080:80
    볼륨:
      - ./src:/var/www/html

이 구성은 공식 PHP 7.4 이미지(Apache 포함)를 사용하고, 컨테이너의 포트 80을 호스트의 포트 8080에 매핑하고, 로컬 프로젝트의 src 디렉터리를 컨테이너의 /var/www/html에 마운트합니다. 이렇게 하면 로컬 코드를 수정한 후 컨테이너를 다시 시작하지 않고도 즉시 적용됩니다.

MySQL 컨테이너 추가

프로젝트에 데이터베이스 지원이 필요한 경우 동일한 docker-compose.yml 파일에 다음 MySQL 서비스 구성을 추가할 수 있습니다.

 MySQL:
  이미지: mysql:5.7
  환경:
    - MYSQL_ROOT_PASSWORD=비밀번호
    - MYSQL_DATABASE=myapp
    - MYSQL_USER=myuser
    - MYSQL_PASSWORD=내 비밀번호
  포트:
    - 3306:3306
  볼륨:
    - mysql-데이터:/var/lib/mysql

이 구성은 MySQL 데이터베이스 컨테이너를 정의하고, 데이터베이스 이름, 사용자 이름 및 비밀번호를 설정하고, 볼륨 마운트를 통해 데이터베이스 데이터를 유지합니다.

다른 서비스 추가

프로젝트 요구 사항에 따라 Redis, MongoDB 또는 Nginx와 같은 다른 서비스를 구성에 계속 추가할 수 있습니다. 각 서비스를 유사한 방식으로 정의하여 유연한 개발 환경을 조성할 수 있습니다.

컨테이너 시작

모든 서비스가 구성되면 프로젝트 루트 디렉터리에서 다음 명령을 실행하여 모든 컨테이너를 시작합니다.

 도커 작성

Docker Compose는 자동으로 이미지를 가져오고 구성 파일을 기반으로 컨테이너를 시작합니다. 시작이 완료된 후 브라우저에서 http://localhost:8080을 방문하여 PHP 프로젝트를 볼 수 있습니다.

일반적인 관리 명령

  • 백그라운드에서 컨테이너 시작: docker-compose up -d
  • 컨테이너 중지: docker-compose stop
  • 컨테이너 상태 보기: docker-compose ps
  • 컨테이너 터미널을 입력합니다: docker-compose exec [service_name] bash

이러한 명령을 사용하면 모든 컨테이너 서비스를 쉽게 시작, 중지, 확인 및 관리할 수 있습니다.

요약

Docker Compose를 사용하여 PHP 개발 환경을 구축하면 개발 프로세스가 더욱 효율적일 뿐만 아니라 팀 구성원 간의 환경 일관성도 보장됩니다. 간단한 구성 파일만으로 PHP, 데이터베이스 및 기타 종속 서비스를 포함한 완전한 환경을 빠르게 구축할 수 있습니다. 이 기사의 설명이 Docker Compose를 더 빠르게 시작하고 안정적이고 재사용 가능한 PHP 개발 환경을 만드는 데 도움이 되기를 바랍니다.