클라우드 컴퓨팅 및 컨테이너화 기술의 인기로 Docker는 개발자가 애플리케이션을 구축, 배포 및 관리하는 최초의 도구가되었습니다. Docker는 PHP 애플리케이션을위한 간단한 환경 구성 및 편리한 컨테이너 화 솔루션을 제공합니다. 이 기사를 사용하면 Docker 및 Docker Compose를 사용하여 PHP 응용 프로그램을 배포하고 관리하고 개발 효율성을 향상 시키며 응용 프로그램 제공 프로세스를 최적화하는 방법에 대한 이해가됩니다.
먼저 지역 환경에 Docker를 설치해야합니다. 운영 체제에 따라 공식 문서에 액세스하고 설치 단계를 수행하여 [Docker Installation] (https://docs.docker.com/install/)를 작성할 수 있습니다.
설치가 완료되면 Docker Compose가 설치되어 여러 컨테이너의 응용 프로그램을 관리하는 데 사용됩니다. Docker Compose의 설치 방법은 공식 문서를 참조하십시오.
PHP 응용 프로그램을 배포하기 전에 필요한 환경이 포함 된 Docker 이미지를 만들어야합니다. 먼저 DockerFile이라는 파일을 만들어 이미지를 작성하는 단계를 정의하십시오.
다음은 dockerfile의 예입니다.
# PHP 7.4 및 PHP의 Apache의 기본 이미지 : 7.4 아파치 사용 <h1>PDO MySQL 확장자를 설치하십시오</h1> <p>docker-php-ext-install pdo_mysql을 실행하십시오</p> <h1>컨테이너의 작업 디렉토리에 응용 프로그램을 복사하십시오.</h1> <p>복사 . /var/www/html</p> <h1>Apache를 구성하십시오</h1> <p>Apache.conf /etc/apache2/sites-ailable/000-default.conf를 복사하십시오</p> <h1>Apache의 DocumentRoot를 수정하십시오</h1> <p>sed -ri -e 's!/var/www/html!/var/www/html/public! g'/etc/apache2/sites-available/000-default.conf를 실행하십시오</p> <h1>액세스 권한을 설정합니다</h1> <p>chown -r www-data : www-data/var/www/html</p> <h1>Apache의 다시 작성 모듈을 활성화하십시오</h1> <p>a2enmod rewrite를 실행하십시오</p> <h1>환경 변수를 구성합니다</h1> <p>Env apache_document_root =/var/www/html/public</p> <h1>컨테이너 포트를 노출시킵니다</h1> <p>80 노출</p> <h1>Apache 서버를 시작하십시오</h1> <p>CMD [ "Apache2-Offorground"]<br>
위의 Dockerfile은 PHP : 7.4-Apache를 기본 이미지로 사용하고`pdo_mysql` 확장자를 설치합니다. `cover '명령을 통해 응용 프로그램 코드는 컨테이너의 지정된 디렉토리에 복사되며 Apache는`rewrite'모듈을 활성화하고 'DocumentRoot'를 설정하고 'www-data'사용자의 권한을 컨테이너의 모든 파일에 설정하는 등 관련 설정으로 구성됩니다.
다음으로 컨테이너의 구성을 정의하고 관리하는 Docker Compose 파일 (Docker-Compose.yml)을 작성해야합니다.
다음은 docker-compose.yml 파일의 예입니다.
버전 : '3' <p>서비스 :<br> 앱:<br> 짓다:<br> 문맥: .<br> dockerfile : dockerfile<br> 포트 :<br> - "8080 : 80"<br> 볼륨 :<br> -. :/var/www/html<br> 부양애 :<br> -DB</p> <p>DB :<br> 이미지 : MySQL : 5.7<br> 환경:<br> mysql_root_password : 비밀<br> mysql_database : mydatabase<br> mysql_user : myuser<br> mysql_password : mypassword<br>
docker-compose.yml 파일은`app`와`db`의 두 가지 서비스를 정의합니다. `App '서비스는 이전에 만든 Docker 이미지를 사용하고 컨테이너의 80 포트를 로컬 8080 포트에 매핑합니다. 또한 현재 디렉토리를 컨테이너의`/var/www/html` 디렉토리로 장착합니다. `DB '서비스는 MySQL 공식 이미지를 사용하고 데이터베이스의 관련 비밀번호를 설정합니다.
명령 줄에 프로젝트의 루트 디렉토리를 입력하고 다음 명령을 실행하여 컨테이너를 시작하십시오.
$ docker -compose up -d
`-d` 매개 변수를 사용하여 배경 컨테이너를 표시하십시오.
컨테이너가 시작되면 브라우저를 통해 PHP 응용 프로그램을보고 [http : // localhost : 8080] (http : // localhost : 8080)에 액세스 할 수 있습니다. 올바르게 구성되면 앱의 홈페이지가 표시됩니다.
Docker Compose를 사용하면 여러 컨테이너를 쉽게 관리하고 제어 할 수 있습니다. 몇 가지 일반적인 명령은 다음과 같습니다.
Docker 및 Docker Compose를 사용하면 PHP 응용 프로그램을 효율적으로 배포하고 관리 할 수 있습니다. 운영 환경을 갖춘 포장 애플리케이션은 다양한 환경에서 응용 프로그램이 일관되게 실행되도록 보장 할뿐만 아니라 확장 및 전달 프로세스를 단순화합니다. 이 기사가 Docker를 사용하여 PHP 응용 프로그램을 배포하고 개발 효율성을 향상시키는 방법을 더 잘 이해하는 데 도움이되기를 바랍니다.