说明
- Dockerfile:
一个用来构建镜像的文本文件 - Compose:
用于定义和运行多容器 Docker 应用程序的工具
搭建环境
目录结构
dnmp[脚本项目名称目录]
|-- Dockerfile [存放Dockerfile文件的目录]
|-- Dockerfile-php [php镜像的Dockerfile文件]
...
|-- docker-compose.yml [compose文件]
注:如果PHP、MySQL、NGINX的相应数据需要存在本地,那么其目录,根据实际情况创建。并在docker-compose.yml文件中的 volumes 配置项中体现。
脚本内容
- Dockerfile-php
FROM php:7.2-fpm
RUN /usr/local/bin/docker-php-ext-install pdo pdo_mysql
- docker-compose.yml
# lnmp 配置
version: '3'
services:
php:
build:
context: ./Dockerfile
dockerfile: Dockerfile-php
container_name: "php-fpm7.2"
expose:
- "9000"
volumes:
- "D:\\dnmp\\www:/www"
nginx:
image: "nginx:latest"
container_name: "nginx"
ports:
- "80:80"
volumes:
- "D:\\dnmp\\www:/usr/share/nginx/html"
- "D:\\dnmp\\nginx\\conf\\conf.d:/etc/nginx/conf.d"
mysql:
image: "mysql:5.7"
container_name: "mysql5.7"
environment:
MYSQL_ROOT_PASSWORD: 123456
ports:
- "3306:3306"
volumes:
- "D:\\dnmp\\mysql:/var/lib/mysql"
运行脚本
在脚本目录中运行命令: docker-compose up
后台执行该服务可以加上 -d 参数: docker-compose up -d
Docker-compose命令
| 命令 | 作用 |
|---|---|
| docker-compose up -d | 后台创建并运行容器 |
| docker-compose start | 开始服务 |
| docker-compose stop | 停止服务 |
| docker-compose restart | 重启服务 |
| docker-compose pause nginx | 暂停nginx容器 |
| docker-compose unpause nginx | 恢复nginx容器 |
| … | … |
本文介绍了一种使用Docker和Docker Compose快速部署DNMP(即Docker+Nginx+MySQL+PHP)环境的方法。通过详细的脚本内容和目录结构,展示了如何构建和运行包含PHP、MySQL和Nginx服务的容器,以及如何通过Docker Compose命令管理这些服务。
438

被折叠的 条评论
为什么被折叠?



