docker compose管理lnmp环境
时间: 2025-01-14 17:02:48 浏览: 51
Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过编写一个 YAML 文件,你可以配置你的应用程序的服务网络和卷,然后通过一个简单的命令启动所有服务。使用 Docker Compose 管理 LNMP (Linux, Nginx, MySQL, PHP) 环境,可以极大地简化开发和部署过程。
以下是一个使用 Docker Compose 管理 LNMP 环境的示例:
1. 创建一个目录用于存放你的项目文件,例如 `lnmp-docker`。
2. 在该目录下创建一个 `docker-compose.yml` 文件,并添加以下内容:
```yaml
version: '3.8'
services:
nginx:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./html:/var/www/html
depends_on:
- php
php:
image: php:7.4-fpm
volumes:
- ./html:/var/www/html
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: test_db
MYSQL_USER: user
MYSQL_PASSWORD: password
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
```
3. 在 `lnmp-docker` 目录下创建 `nginx` 目录,并在其中创建 `conf.d` 目录。
4. 在 `conf.d` 目录下创建一个 `default.conf` 文件,并添加以下内容:
```nginx
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
```
5. 在 `lnmp-docker` 目录下创建 `html` 目录,并在其中创建一个 `index.php` 文件,添加以下内容:
```php
<?php
phpinfo();
?>
```
6. 在 `lnmp-docker` 目录下运行以下命令启动服务:
```sh
docker-compose up -d
```
7. 打开浏览器,访问 `http://localhost`,你应该能看到 PHP 信息页面。
通过上述步骤,你可以使用 Docker Compose 快速搭建一个 LNMP 环境。这个环境包括了 Nginx、PHP 和 MySQL,并且通过 Docker 卷将代码和配置文件挂载到容器中,方便开发和调试。
阅读全文
相关推荐















