
Docker Compose
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
Docker Compose是一款定义和运行多容器Docker应用程序的工具,通过Compose文件配置应用服务,简化了开发、部署和测试过程。
使用 Docker Compose 搭建 LAMP 环境并加入 Redis 支持需要编写一个标准的 `docker-compose.yml` 文件。该文件主要包括 version、services 和 networks 三大部分,其中 services 和 networks 是最核心的部分。
### 版本声明
```yaml
version: 2
```
### 定义服务
#### console 服务配置:
- **容器名称**:可以为自定义的容器指定一个名称。
- **内置主机名**:设置容器内的主机名为 `console`。
- **构建路径**:
- context 指定 Dockerfile 的上下文文件夹,这里是相对路径到当前目录下的 images/console 文件夹。
- dockerfile 用于指明具体的 Dockerfile 文件名。
```yaml
services:
console:
container_name: console
hostname: console
build:
context: ./images/console
dockerfile: Dockerfile
```
#### web 服务配置:
- **容器名称**:指定为 `web`。
- **构建路径**:
- 指定上下文文件夹和 Dockerfile 文件名。
- **端口映射**:将主机的80端口与容器内的80端口进行绑定。
```yaml
web:
container_name: web
hostname: web
build:
context: ./images/nginx
dockerfile: Dockerfile
ports:
- 80:80
```
#### php 服务配置:
- **容器名称**:指定为 `php`。
- 构建镜像:
- 指定构建上下文和Dockerfile文件路径。
```yaml
php:
container_name: php
hostname: php
build:
context: ./images/php
dockerfile: Dockerfile
```
#### 数据库服务配置:
- **容器名称**:指定为 `db`。
- 使用 MySQL 镜像:
- 指定环境变量,包括数据库用户名、密码和root用户密码。
```yaml
db:
container_name: db
hostname: db
image: mysql:5.7
environment:
MYSQL_USER: sch
MYSQL_PASS: 1111
MYSQL_ROOT_PASSWORD: root
```
#### Redis 配置:
- **容器名称**:指定为 `redis`。
- 使用 redis 指定镜像:
- 设置端口映射,将6379端口从主机映射到容器。
```yaml
redis:
container_name: redis
hostname: redis
image: redis:3.2.7
```
### 定义网络
为服务指定一个默认的 Docker 网络,并设置别名以便在同一个网络中的其他服务之间进行通信:
```yaml
networks:
default:
aliases:
- web.sunchanghao.top
- mid.sunchanghao.top
- service.sunchanghao.top
- admin.sunchanghao.top
```
### 数据卷配置
在 Docker Compose 中,可以定义数据卷(volumes)以存储持久性数据。例如:
```yaml
volumes:
nginx-log:
driver: local
db:
driver: local
redis:
driver: local
```
以上便是使用 docker-compose 文件搭建 LAMP+Redis 环境的基本配置示例,可以根据具体需求进一步调整和优化。
注意:上述代码中包含了一些假设的文件路径(如 Dockerfile 的位置),实际部署时请根据实际情况进行修改。
全部评论 (0)


