백엔드 개발 PHP 튜토리얼 Docker를 사용하여 PHP 애플리케이션을 배포하고 관리하는 방법

Docker를 사용하여 PHP 애플리케이션을 배포하고 관리하는 방법

Aug 02, 2023 pm 07:37 PM
docker 배포 관리하다

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文件定义了两个服务:appdbapp服务使用了我们之前创建的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의 예입니다.
rrreee

위의 Dockerfilephp:7.4-apache를 기본 이미지로 사용합니다. >pdo_mysql 확장을 설치하고, 애플리케이션을 컨테이너의 지정된 디렉터리에 복사하고, Apache 구성 파일을 설정하고, 다시 쓰기 모듈을 활성화하고, DocumentRoot를 애플리케이션의 public 디렉터리로 설정합니다.

3. Docker Compose 파일 작성🎜다음으로, 여러 컨테이너의 실행 및 상호 작용을 정의하고 관리하는 데 사용되는 Docker Compose 파일을 작성해야 합니다. 🎜🎜다음은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Docker의 이미지를 업데이트하는 방법 Docker의 이미지를 업데이트하는 방법 Apr 15, 2025 pm 12:03 PM

Docker 이미지를 업데이트하는 단계는 다음과 같습니다. 최신 이미지 태그 가져 오기 새 이미지 특정 태그의 이전 이미지 삭제 (선택 사항) 컨테이너를 다시 시작하십시오 (필요한 경우)

Docker가 컨테이너를 빠져 나가는 방법 Docker가 컨테이너를 빠져 나가는 방법 Apr 15, 2025 pm 12:15 PM

도커 컨테이너를 종료하는 4 가지 명령 사용 Docker Kill & lt; Container_name & gt; 호스트 터미널의 명령 (힘 출구)

Docker를 다시 시작하는 방법 Docker를 다시 시작하는 방법 Apr 15, 2025 pm 12:06 PM

Docker 컨테이너를 다시 시작하는 방법 : 컨테이너 ID (Docker PS)를 가져옵니다. 컨테이너 중지 (Docker Stop & lt; container_id & gt;); 컨테이너를 시작하십시오 (Docker start & lt; container_id & gt;); 재시작이 성공했는지 확인하십시오 (Docker PS). 기타 방법 : Docker Compose (Docker-Compose Restart) 또는 Docker API (Docker 문서 참조).

Docker의 파일을 외부로 복사하는 방법 Docker의 파일을 외부로 복사하는 방법 Apr 15, 2025 pm 12:12 PM

Docker의 외부 호스트에 파일을 복사하는 방법 : Docker CP 명령 사용 : Docker CP 실행 [옵션] & lt; 컨테이너 경로 & gt; & lt; 호스트 경로 & gt;. 데이터 볼륨 사용 : 호스트에서 디렉토리를 만들고 -V 매개 변수를 사용하여 양방향 파일 동기화를 달성하기 위해 컨테이너를 만들 때 컨테이너에 디렉토리를 장착하십시오.

Docker Desktop을 사용하는 방법 Docker Desktop을 사용하는 방법 Apr 15, 2025 am 11:45 AM

Docker Desktop을 사용하는 방법? Docker Desktop은 로컬 머신에서 Docker 컨테이너를 실행하는 도구입니다. 사용 단계는 다음과 같습니다. 1. Docker Desktop 설치; 2. Docker Desktop을 시작하십시오. 3. Docker 이미지를 만듭니다 (Dockerfile 사용); 4. Docker Image 빌드 (Docker 빌드 사용); 5. 도커 컨테이너를 실행하십시오 (Docker Run 사용).

Docker 프로세스를 보는 방법 Docker 프로세스를 보는 방법 Apr 15, 2025 am 11:48 AM

도커 프로세스보기 방법 : 1. Docker CLI 명령 : Docker PS; 2. Systemd Cli 명령 : SystemCTL 상태 Docker; 3. Docker Compose CLI 명령 : Docker-Compose PS; 4. 프로세스 탐색기 (Windows); 5. /Proc Directory (Linux).

Docker 이미지가 실패하면해야 할 일 Docker 이미지가 실패하면해야 할 일 Apr 15, 2025 am 11:21 AM

실패한 Docker 이미지 빌드에 대한 문제 해결 단계 : Dockerfile 구문 및 종속성 버전을 확인하십시오. 빌드 컨텍스트에 필요한 소스 코드 및 종속성이 포함되어 있는지 확인하십시오. 오류 세부 사항에 대한 빌드 로그를보십시오. -표적 옵션을 사용하여 계층 적 단계를 구축하여 실패 지점을 식별하십시오. 최신 버전의 Docker Engine을 사용하십시오. -t [image-name] : 디버그 모드로 이미지를 빌드하여 문제를 디버깅하십시오. 디스크 공간을 확인하고 충분한 지 확인하십시오. 빌드 프로세스에 대한 간섭을 방지하기 위해 Selinux를 비활성화하십시오. 커뮤니티 플랫폼에 도움을 요청하고 Dockerfiles를 제공하며보다 구체적인 제안을 위해 로그 설명을 구축하십시오.

Docker 컨테이너의 이름을 확인하는 방법 Docker 컨테이너의 이름을 확인하는 방법 Apr 15, 2025 pm 12:21 PM

단계를 따르면 Docker 컨테이너 이름을 쿼리 할 수 ​​있습니다. 모든 컨테이너 (Docker PS)를 나열하십시오. 컨테이너 목록을 필터링합니다 (GREP 명령 사용). 컨테이너 이름 ( "이름"열에 위치)을 가져옵니다.

See all articles