Docker를 사용하여 PHP 애플리케이션을 배포하고 관리하는 방법
소개:
오늘날의 클라우드 컴퓨팅 시대에 컨테이너화 기술은 점점 더 대중화되고 있습니다. 그중 선두주자인 Docker는 이미 대부분의 개발자가 선택한 컨테이너화 솔루션이 되었습니다. 이 문서에서는 Docker를 사용하여 PHP 애플리케이션을 배포하고 관리하여 애플리케이션을 보다 효율적으로 개발하고 제공하는 방법을 소개합니다.
1. Docker 및 Docker Compose 설치
먼저 로컬 환경에 Docker를 설치해야 합니다. 운영 체제 버전에 따른 공식 문서에 따라 설치하십시오: https://docs.docker.com/install/
설치가 완료된 후 Docker Compose도 설치해야 합니다. 이는 여러 애플리케이션을 포함하는 애플리케이션을 관리하는 데 도움이 됩니다. 컨테이너. 마찬가지로 공식 문서(https://docs.docker.com/compose/install/
)에서 운영 체제에 대한 설치 지침을 찾을 수 있습니다. 2. Docker 이미지 생성
PHP 애플리케이션을 배포하기 전에 필수 환경이 포함된 Docker 이미지입니다. 이를 위해서는 이미지 빌드 단계를 정의하는 Dockerfile
이라는 파일을 생성해야 합니다. Dockerfile
的文件,在其中定义构建镜像的步骤。
下面是一个示例的Dockerfile
:
# 使用一个基础的PHP镜像 FROM php:7.4-apache # 安装所需的PHP扩展 RUN docker-php-ext-install pdo_mysql # 将应用程序复制到工作目录 COPY . /var/www/html # 设置Apache配置文件 COPY apache.conf /etc/apache2/sites-available/000-default.conf # 设置Apache的DocumentRoot RUN sed -ri -e 's!/var/www/html!/var/www/html/public!g' /etc/apache2/sites-available/000-default.conf # 设置Apache访问权限 RUN chown -R www-data:www-data /var/www/html RUN a2enmod rewrite # 设置环境变量 ENV APACHE_DOCUMENT_ROOT=/var/www/html/public # 暴露容器的端口 EXPOSE 80 # 启动Apache服务器 CMD ["apache2-foreground"]
以上的Dockerfile
使用php:7.4-apache
作为基础镜像,安装了pdo_mysql
扩展,将应用程序复制到容器的指定目录中,设置Apache配置文件,启用了rewrite模块,并将DocumentRoot设置为应用程序的public
目录。
三、编写Docker Compose文件
接下来,我们需要编写一个Docker Compose文件,该文件用于定义和管理多个容器的运行和交互。
下面是一个示例的docker-compose.yml
文件:
version: '3' services: app: build: context: . dockerfile: Dockerfile ports: - 8080:80 volumes: - .:/var/www/html depends_on: - db db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: mydatabase MYSQL_USER: myuser MYSQL_PASSWORD: mypassword
以上的docker-compose.yml
文件定义了两个服务:app
和db
。app
服务使用了我们之前创建的Docker镜像,将容器的80端口映射到本地的8080端口,并将当前目录挂载到容器的/var/www/html
目录下。db
服务使用了MySQL的官方镜像,设置了数据库的root密码、数据库名和用户密码。
四、启动容器
在命令行中,进入项目的根目录,执行以下命令来启动容器:
$ docker-compose up -d
其中,-d
参数表示在后台启动容器。
五、访问应用
在容器启动后,我们可以通过浏览器访问http://localhost:8080
来查看应用程序。如果一切正常,您将看到您的PHP应用程序。
六、管理容器
使用Docker Compose,我们可以轻松管理和操作多个容器。
以下是一些常用的命令:
docker-compose up -d
docker-compose down
docker-compose ps
docker-compose logs
Dockerfile
의 예입니다. 위의 Dockerfile
은 php:7.4-apache
를 기본 이미지로 사용합니다. >pdo_mysql 확장을 설치하고, 애플리케이션을 컨테이너의 지정된 디렉터리에 복사하고, Apache 구성 파일을 설정하고, 다시 쓰기 모듈을 활성화하고, DocumentRoot를 애플리케이션의 public
디렉터리로 설정합니다.
docker-compose.yml
파일의 예입니다. 🎜rrreee🎜위의 docker-compose.yml
파일은 두 가지 서비스를 정의합니다: app /code > 및 <code>db
. app
서비스는 이전에 생성한 Docker 이미지를 사용하고, 컨테이너의 포트 80을 로컬 포트 8080에 매핑하고, 현재 디렉터리를 컨테이너의 /var/www/html code>에 마운트합니다. 예배 규칙서. <code>db
서비스는 MySQL의 공식 이미지를 사용하고 데이터베이스의 루트 비밀번호, 데이터베이스 이름 및 사용자 비밀번호를 설정합니다. 🎜🎜4. 컨테이너 시작🎜명령줄에 프로젝트의 루트 디렉터리를 입력하고 다음 명령을 실행하여 컨테이너를 시작합니다. 🎜rrreee🎜그 중 -d
매개변수는 시작을 나타냅니다. 백그라운드에서 컨테이너입니다. 🎜🎜5. 애플리케이션 액세스🎜컨테이너가 시작된 후 브라우저를 통해 http://localhost:8080
에 액세스하면 애플리케이션을 볼 수 있습니다. 모든 것이 정상이면 PHP 애플리케이션이 표시됩니다. 🎜🎜6. 컨테이너 관리🎜Docker Compose를 사용하면 여러 컨테이너를 쉽게 관리하고 운영할 수 있습니다. 🎜🎜다음은 일반적으로 사용되는 명령입니다. 🎜docker-compose up -d
🎜docker-compose down 🎜<li>컨테이너 상태 보기: <code>docker-compose ps
🎜docker-compose 로그
🎜🎜🎜VII 사용 Docker와 Docker Compose를 사용하면 PHP 애플리케이션을 보다 편리하게 배포하고 관리할 수 있습니다. 애플리케이션과 환경을 컨테이너로 패키징함으로써 애플리케이션이 다양한 환경에서 일관되게 실행되고 확장 및 제공이 더 쉬워지도록 보장합니다. 이 기사가 Docker를 사용하여 PHP 애플리케이션을 배포하고 관리하는 데 대한 기본 지식과 지침을 제공할 수 있기를 바랍니다. Docker를 사용하여 애플리케이션을 개발하고 제공하는 데 성공하길 바랍니다. 🎜위 내용은 Docker를 사용하여 PHP 애플리케이션을 배포하고 관리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!