您当前的位置:首页 > 百宝箱

docker部署php项目

2024-09-30 21:07:02 作者:石家庄人才网

本篇文章给大家带来《docker部署php项目》,石家庄人才网对文章内容进行了深度展开说明,希望对各位有所帮助,记得收藏本站。

Docker是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。

在本文中,我们将介绍如何使用 Docker 部署 PHP 项目。我们将使用 Nginx 作为 Web 服务器,PHP-FPM 作为 PHP 处理器,以及 MySQL 作为数据库。

步骤 1:创建 Dockerfile

首先,我们需要创建一个 Dockerfile,它将定义我们的 PHP 镜像。在你的项目根目录下创建一个名为 Dockerfile 的文件,并将以下内容粘贴到其中:

FROM php:7.4-fpm# Install necessary extensionsRUN docker-php-ext-install pdo_mysql mysqli# Install ComposerRUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer# Set working directoryWORKDIR /var/www/html# Copy source codeCOPY . /var/www/html

这个 Dockerfile 基于官方的 PHP 7.4-fpm 镜像,并安装了一些必要的扩展。它还安装了 Composer,并将工作目录设置为 /var/www/html。最后,它将你的项目源代码复制到镜像中。

步骤 2:创建 docker-compose.yml 文件

接下来,我们需要创建一个 docker-compose.yml 文件,它将定义我们的服务。在你的项目根目录下创建一个名为 docker-compose.yml 的文件,并将以下内容粘贴到其中:

version: '3.7'services:  web:    image: nginx:latest    ports:      - "80:80"    volumes:      - ./nginx.conf:/etc/nginx/conf.d/default.conf      - ./:/var/www/html    depends_on:      - php  php:    build: .    volumes:      - ./:/var/www/html  db:    image: mysql:latest    environment:      MYSQL_ROOT_PASSWORD: root      MYSQL_DATABASE: your_database_name      MYSQL_USER: your_database_user      MYSQL_PASSWORD: your_database_password    volumes:      - db_data:/var/lib/mysqlvolumes:  db_data:

这个 docker-compose.yml 文件定义了三个服务:web、php 和 db。web 服务使用 Nginx 镜像,并将端口 80 映射到主机的端口 80。它还挂载了 nginx.conf 文件和项目根目录。php 服务使用我们刚刚创建的 Dockerfile 构建,并挂载了项目根目录。db 服务使用 MySQL 镜像,并定义了一些环境变量来设置数据库凭据。它还挂载了一个名为 db_data 的卷来持久化数据库数据。石家庄人才网小编提醒您,请根据实际情况修改数据库名称、用户名和密码。

步骤 3:创建 Nginx 配置文件

我们需要创建一个 Nginx 配置文件来将请求转发到 PHP-FPM。在你的项目根目录下创建一个名为 nginx.conf 的文件,并将以下内容粘贴到其中:

server {    listen 80;    index index.php index.html;    root /var/www/html;    location / {        try_files $uri 

版权声明:《docker部署php项目》来自【石家庄人才网】收集整理于网络,不代表本站立场,所有图片文章版权属于原作者,如有侵略,联系删除。
https://www.ymil.cn/baibaoxiang/3683.html