Docker 이미지. PHP 프로젝트를 30초 이내에 실행하기 위해.

발행: (2026년 1월 7일 오전 12:02 GMT+9)
3 min read
원문: Dev.to

Source: Dev.to

PHP Full 이미지 출시 (버전 8.5)

이번 주에 PHP 애플리케이션용 Docker 이미지 8.5 버전을 출시했습니다. 이 이미지는 8.1 버전부터 제공되어 왔으며, 실제 운영 환경에서 광범위하게 테스트되었고 Docker Hub에서 10 K 이상의 풀을 기록했습니다.

주요 기능

  • 최신 버전으로 사전 설정된 PHP
  • 통합 웹 서버 (nginx)
  • 유용한 도구: Composer, cron 및 일반 확장 모듈
  • 무결성 테스트 및 정기 업데이트
  • 운영 환경에 권장되는 보안 설정

Convenia는 PHP 8.1부터 8.5까지 동일한 표준을 유지하여 모든 사내 프로젝트에 안정성과 지속적인 지원을 제공합니다.

빠르게 시작하기

Docker run

docker run --rm -p 80:80 convenia/php-full:8.5

http://localhost에 접속하면 PHP + nginx가 제공하는 이미지 자체 문서를 확인할 수 있습니다.

Docker Compose

프로젝트 루트에 docker-compose.yml 파일을 생성합니다:

services:
  app:
    image: convenia/php-full:8.5
    container_name: app
    volumes:
      - .:/var/www/app
    ports:
      - "80:80"

스택을 시작합니다:

docker-compose up -d

참고:

  • Laravel, Symfony 또는 public 폴더를 엔트리포인트로 사용하는 모든 PHP 애플리케이션의 경우, 볼륨을 다음과 같이 조정합니다:
    volumes:
      - .:/var/www/app/public
  • FPM 서비스(포트 9000)는 내부에서만 노출됩니다; 외부 환경에서는 포트 9000을 차단하세요.

웹 서버 설정 커스터마이징

nginx 기본 설정을 교체할 수 있습니다:

services:
  app:
    image: convenia/php-full:8.5
    volumes:
      - ./nginx.conf:/etc/nginx/http.d/default.conf

컨테이너 내에서 cron 사용하기

이미지에는 cron 바이너리가 포함되어 있어 스케줄 작업(예: Laravel 스케줄러)을 쉽게 실행할 수 있습니다.

  1. 원하는 명령을 담은 crontab 파일을 생성합니다.

  2. 컨테이너에 복사합니다:

    COPY crontab /etc/crontabs/root
  3. 컨테이너에서 cron을 시작합니다:

    docker run --rm mycronimage crond -l 2 -f

PHP Full 이미지를 사용할 때의 장점

  • 환경 간 일관성 (개발, 테스트, 운영)
  • 사용 편의성 – 한 명령으로 애플리케이션 실행
  • 지속적인 업데이트 – 의존성 스캔을 포함한 주간 빌드
  • 전사 통일 표준으로 예기치 않은 문제와 재작업을 최소화
Back to Blog

관련 글

더 보기 »