docker-compose打包php项目的几种方法
作者:互联网
使用 Docker Compose 可以轻松地打包和部署 PHP 项目。
下面是一个基本的 Docker Compose 配置文件示例:
该配置文件中定义了两个服务:web 和 db。其中,web 服务使用本地的 Dockerfile 构建镜像,并将容器内部的 80 端口映射到主机的 80 端口,同时将主机的 ./app 目录挂载到容器的 /var/www/html 目录下。db 服务则使用官方的 MySQL 镜像,并指定了一些环境变量和数据卷。version: '3'
services:
web:
build: .
ports:
- "80:80"
volumes:
- ./app:/var/www/html
depends_on:
- db
db:
image: mysql:5.7
environment:
MYSQL_DATABASE: mydatabase
MYSQL_USER: myuser
MYSQL_PASSWORD: mypassword
MYSQL_ROOT_PASSWORD: myrootpassword
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
在本地 PHP 项目的根目录下,创建 Dockerfile 文件,如下所示:
FROM php:7.4-apache
RUN docker-php-ext-install mysqli pdo_mysql
COPY ./app/ /var/www/html/
该 Dockerfile 使用官方的 PHP 7.4 镜像作为基础镜像,并安装了 mysqli 和 pdo_mysql 扩展,然后将 ./app 目录下的所有文件复制到容器的 /var/www/html 目录下。 使用命令 docker-compose up 启动容器,使用命令 docker-compose down 关闭容器。 这样就可以使用 Docker Compose 打包和部署 PHP 项目了。如果需要添加其他服务,只需要在 Docker Compose 配置文件中添加相应的服务定义即可。