Ubuntu中docker-compose yaml ⽂件
时间: 2025-03-18 07:09:22 浏览: 42
### Ubuntu 中 Docker Compose 的 YAML 文件使用教程
#### 安装 Docker 和 Docker Compose
在开始之前,确保已安装 Docker 和 Docker Compose。可以通过以下命令检测是否成功安装并查看版本信息:
```bash
docker --version
docker-compose version
```
如果未安装,则可以按照官方文档完成安装过程。
---
#### 创建 `docker-compose.yml` 文件
创建一个新的项目目录,并在其内部编写 `docker-compose.yml` 文件。以下是基本结构:
```yaml
version: '3' # 版本号指定 [^2]
services: # 定义服务部分
web: # 服务名称
image: nginx:latest # 使用的镜像 [^1]
ports:
- "8080:80" # 映射端口
volumes:
- ./html:/usr/share/nginx/html # 数据卷映射 [^1]
redis: # 另一个服务
image: redis:alpine # 镜像
```
上述配置说明如下:
- **`web`**: 运行 Nginx Web 服务器。
- **`redis`**: 启动 Redis 缓存服务。
- **`ports`**: 将主机的 8080 端口映射到容器内的 80 端口。
- **`volumes`**: 将本地的 `./html` 目录挂载至容器中的 `/usr/share/nginx/html` 路径。
---
#### 执行 `docker-compose` 命令
进入包含 `docker-compose.yml` 文件的目录后,可运行以下命令来启动服务:
```bash
docker-compose up # 前台模式启动所有服务 [^1]
docker-compose up -d # 后台模式启动所有服务
```
若要停止正在运行的服务,可以执行:
```bash
docker-compose down # 停止并移除所有服务及相关网络
```
---
#### 自定义文件名
如果不希望使用默认的 `docker-compose.yml` 文件名,可通过 `-f` 参数指定其他文件名。例如:
```bash
docker-compose -f custom.yml up -d # 使用自定义文件名启动服务 [^1]
```
---
#### 示例场景:多容器应用
假设需要构建一个多容器的应用程序,其中包含 Flask 应用和 MySQL 数据库。下面是一个完整的 `docker-compose.yml` 示例:
```yaml
version: '3'
services:
app:
build: . # 构建上下文路径
ports:
- "5000:5000"
environment:
MYSQL_HOST: db # 设置环境变量
MYSQL_USER: root
MYSQL_PASSWORD: example
MYSQL_DB: testdb
depends_on: # 表明依赖关系 [^1]
- db
db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: testdb
```
此示例中:
- **Flask 应用 (`app`)**: 使用当前目录下的 Dockerfile 构
阅读全文
相关推荐


















