docker-compose搭建LAMP
时间: 2023-09-10 14:12:40 浏览: 125
要使用 Docker Compose 搭建 LAMP(Linux、Apache、MySQL、PHP)环境,需要编写一个 docker-compose.yml 文件,其中定义每个服务的镜像、配置和挂载卷。
以下是一个简单的 docker-compose.yml 文件示例:
```
version: '3.7'
services:
webserver:
image: httpd:latest
ports:
- "80:80"
volumes:
- ./web:/usr/local/apache2/htdocs/
depends_on:
- php
- db
php:
image: php:latest
volumes:
- ./web:/var/www/html/
depends_on:
- db
db:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: my-secret-pw
MYSQL_DATABASE: my_db
MYSQL_USER: my_user
MYSQL_PASSWORD: my_password
volumes:
- ./db:/var/lib/mysql
```
在这个例子中,我们定义了三个服务:
1. `webserver`:使用 `httpd` 镜像作为 Apache Web 服务器,将主机的 `./web` 目录挂载到容器的 `/usr/local/apache2/htdocs/` 目录,将端口 `80` 映射到主机上。
2. `php`:使用 `php` 镜像作为 PHP 解释器,将主机的 `./web` 目录挂载到容器的 `/var/www/html/` 目录。
3. `db`:使用 `mysql` 镜像作为 MySQL 数据库,将主机的 `./db` 目录挂载到容器的 `/var/lib/mysql` 目录,并设置 MySQL 的根密码和数据库名称、用户名和密码。
要启动这个 LAMP 环境,只需在包含 `docker-compose.yml` 文件的目录中运行以下命令:
```
docker-compose up -d
```
这将创建并启动三个服务。您可以通过访问 `http://localhost` 来测试 Web 服务器是否正常工作。如果一切正常,您应该能够看到 `./web` 目录中的内容。
阅读全文