>  기사  >  운영 및 유지보수  >  Docker에서 Symfony 환경을 빠르게 설정하는 방법을 가르쳐주세요.

Docker에서 Symfony 환경을 빠르게 설정하는 방법을 가르쳐주세요.

WBOY
WBOY원래의
2023-10-21 11:43:56782검색

Docker에서 Symfony 환경을 빠르게 설정하는 방법을 가르쳐주세요.

Docker에서 Symfony 환경을 빠르게 구축하는 방법을 가르쳐주세요

클라우드 컴퓨팅과 컨테이너 기술의 급속한 발전으로 Docker는 매우 인기 있고 유용한 도구가 되었습니다. 이는 애플리케이션을 패키징, 배포 및 실행하는 빠르고 안정적이며 편리한 방법을 제공합니다. Symfony는 고품질 웹 애플리케이션을 신속하게 구축하는 데 도움이 되는 뛰어난 PHP 프레임워크입니다. 이 기사에서는 Docker를 사용하여 Symfony 환경을 빠르게 설정하는 방법을 보여 드리겠습니다.

1단계: Docker 및 Docker Compose 설치
먼저 컴퓨터에 Docker 및 Docker Compose를 설치해야 합니다. Docker 공식 홈페이지에서 자신의 운영체제에 맞는 설치 패키지를 찾아 공식 문서에 따라 설치하시면 됩니다.

2단계: Dockerfile 만들기
프로젝트 루트 디렉터리에 Dockerfile이라는 파일을 만들고 여기에 다음 콘텐츠를 추가합니다.

FROM php:7.4-apache

# 安装Symfony所需的扩展
RUN docker-php-ext-install pdo pdo_mysql

# 添加Apache的配置文件
COPY apache.conf /etc/apache2/sites-available/000-default.conf

# 安装Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

위 Dockerfile 파일에서는 공식적으로 제공되는 php:7.4-apache를 기본 이미지로 사용했습니다. 그런 다음 Symfony에 필요한 PDO 및 pdo_mysql 확장을 설치하고 Apache의 구성 파일을 로컬에서 컨테이너 내의 올바른 위치로 복사했습니다. 마지막으로 Composer를 사용하여 Symfony 프로젝트의 종속성을 관리할 수 있도록 Composer를 설치했습니다.

3단계: Apache 구성 파일 생성
프로젝트의 루트 디렉터리에 apache.conf라는 파일을 생성하고 그 안에 다음 콘텐츠를 추가합니다.

<VirtualHost *:80>
    DocumentRoot /var/www/html/public
    <Directory /var/www/html/public>
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

위의 apache.conf 파일에서 Symfony 프로젝트를 지정했습니다. 공용 디렉토리는 DocumentRoot 역할을 하며 모든 Apache 재작성 규칙이 활성화됩니다.

4단계: docker-compose.yml 파일 생성
프로젝트 루트 디렉터리에 docker-compose.yml이라는 파일을 생성하고 그 안에 다음 콘텐츠를 추가합니다.

version: '3'
services:
  web:
    build: .
    ports:
      - "8000:80"
    volumes:
      - .:/var/www/html
    links:
      - db
  db:
    image: mysql:8.0
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=symfony
    volumes:
      - ./database:/var/lib/mysql

위의 docker-compose.yml 파일에서 우리는 다음을 정의합니다. 두 가지 서비스: 웹과 DB. 웹 서비스는 위에서 만든 Dockerfile을 사용하여 구축되었으며 컨테이너의 포트 80을 호스트의 포트 8000에 매핑합니다. 또한 컨테이너 내의 Symfony 프로젝트에 액세스할 수 있도록 현재 디렉터리를 컨테이너 내의 /var/www/html 디렉터리에 매핑합니다. db 서비스는 공식적으로 제공되는 mysql:8.0 이미지를 사용하여 컨테이너의 3306 포트를 호스트의 3306 포트에 매핑합니다. 또한 MySQL 루트 비밀번호와 생성된 데이터베이스를 지정했습니다.

5단계: Symfony 컨테이너 시작
터미널에서 프로젝트 루트 디렉터리로 이동하고 다음 명령을 실행하여 Symfony 컨테이너를 시작합니다.

docker-compose up -d

이 명령은 필요한 이미지를 다운로드하고 컨테이너를 빌드한 후 실행합니다. 잠시만 기다려주세요. 시작 프로세스에 다소 시간이 걸릴 수 있습니다.

6단계: Symfony 설치
Symfony 컨테이너가 시작된 후 다음 명령을 사용하여 컨테이너 내부로 들어갈 수 있습니다.

docker exec -it [CONTAINER_NAME] bash

이 명령에서 [CONTAINER_NAME]을 Symfony 컨테이너의 이름으로 바꿉니다.

컨테이너 내부에는 Composer를 사용하여 Symfony를 설치할 수 있습니다. 컨테이너 내에서 다음 명령을 실행하세요.

composer create-project symfony/website-skeleton .

이 명령은 현재 디렉터리에 새 Symfony 프로젝트를 생성합니다.

7단계: Symfony 애플리케이션에 액세스
설치가 완료되면 브라우저에서 다음 URL을 방문하여 Symfony 애플리케이션을 볼 수 있습니다:

http://localhost:8000

축하합니다! 이제 Docker에서 Symfony 환경을 성공적으로 설정했습니다. 이제 Symfony를 사용하여 애플리케이션 구축을 시작하고 컨테이너화의 편리함과 유연성을 누릴 수 있습니다.

요약
Docker와 Docker Compose를 사용하면 로컬에서 Symfony 환경을 빠르게 구축할 수 있습니다. 이를 통해 개발자는 개발 환경 구성 및 관리에 대해 걱정할 필요 없이 애플리케이션 개발에 더 집중할 수 있습니다. 이 글이 여러분에게 도움이 되기를 바라며, 더욱 훌륭한 Symfony 애플리케이션을 구축하시길 바랍니다!

위 내용은 Docker에서 Symfony 환경을 빠르게 설정하는 방법을 가르쳐주세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.