docker部署 lNMP完整教程
时间: 2024-08-31 21:00:28 浏览: 89
在Docker中部署LNMP(Linux、Nginx、MySQL 和 PHP)环境是一个常见的操作,这里提供一个简化的步骤指南:
**步骤1:安装Docker和Docker Compose**
确保你的系统已经安装了Docker,如果没有,可以使用包管理器安装(如Ubuntu的apt-get或Debian的apt或Fedora/Rocky Linux的dnf)。Docker Compose用于管理容器服务,安装命令如下:
```bash
sudo apt-get update
sudo apt-get install docker.io docker-compose
# 或者在Rocky Linux上:
sudo dnf install docker-compose
```
**步骤2:准备基础镜像**
- Nginx:`nginx:alpine`
- MySQL:`mysql:8.0-alpine`(或其他版本)
- PHP:`php:fpm`
**步骤3:创建docker-compose.yml文件**
在项目根目录下创建一个`docker-compose.yml`文件,内容如下:
```yaml
version: '3'
services:
nginx:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- .:/usr/share/nginx/html
mysql:
image: mysql:8.0-alpine
environment:
MYSQL_ROOT_PASSWORD: somepassword
volumes:
- mysql_data:/var/lib/mysql
php:
build: .
volumes:
- .env
depends_on:
- mysql
command: ["php-fpm"]
volumes:
mysql_data:
```
注意:这个例子假设你的PHP项目在当前目录下。
**步骤4:构建PHP镜像(如果需要自定义PHP镜像)**
如果你的PHP项目有特定需求,需要先构建一个镜像。打开`Dockerfile`,例如:
```dockerfile
FROM php:7.4-fpm
COPY . /var/www/html
RUN composer install
```
然后运行`docker-compose build`.
**步骤5:启动服务**
运行`docker-compose up -d`,会启动并分别在后台运行三个服务。
**相关问题--:**
1. 如何通过环境变量连接到MySQL?
2. 我如何迁移现有的MySQL数据到新的Docker容器中?
3. 如果我想在容器间共享数据,应该怎么做?
阅读全文