docker compose部署nginx+php+mysql+phpmyadmin环境(LNMP环境)
以下是一个简化版的Docker Compose配置文件示例,用于部署Nginx、PHP、MySQL和phpMyAdmin:
version: '3'
services:
nginx:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./html:/usr/share/nginx/html
depends_on:
- php
- mysql
networks:
- lnmp-network
php:
image: php:7.4-fpm
volumes:
- ./html:/usr/share/nginx/html
networks:
- lnmp-network
mysql:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: your_database
volumes:
- mysql_data:/var/lib/mysql
networks:
- lnmp-network
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- "8080:80"
environment:
PMA_ARBITRARY=1
depends_on:
- mysql
networks:
- lnmp-network
volumes:
mysql_data:
networks:
lnmp-network:
driver: bridge
在这个配置中,我们定义了四个服务:nginx
、php
、mysql
和phpmyadmin
。为它们配置了相应的镜像、端口、卷挂载和网络设置。
nginx
:使用Nginx官方镜像,端口映射80到宿主机的80端口,同时挂载配置文件和网站代码目录。php
:使用PHP官方镜像,版本为7.4-fpm,同时挂载网站代码目录。mysql
:使用MySQL官方镜像,设置环境变量包括root用户的密码和初始数据库名称,数据卷挂载到外部卷保持数据持久性。phpmyadmin
:使用phpmyadmin官方镜像,端口映射8080到宿主机的8080端口,并设置依赖于MySQL服务。
确保你有一个nginx.conf
文件在你的配置文件所在的目录,以及一个包含PHP文件的html
目录。
运行docker-compose up
命令启动所有服务。
注意:这个配置是一个基本示例,你可能需要根据自己的需求进行配置调整,例如,配置Nginx与PHP处理程序,设置MySQL数据库权限等。
评论已关闭