编写 `docker-compose.yml` 文件是为了定义和管理 Docker 容器的配置,其中包括容器的构建、服务之间的连接、端口映射等。下面是一个示例 `docker-compose.yml` 文件,假设我们要部署一个简单的 Node.js 网站:
```yaml
version: '3'
services:
web:
build: .
ports:
- "80:3000"
volumes:
- .:/app
environment:
NODE_ENV: production
```
现在让我解释每个部分的含义:
-
`version: '3'`:指定 Docker Compose 文件的版本。
-
`services:`:定义一个或多个服务。在这个示例中,我们只有一个服务,名为 `web`。
-
`web:`:指定了服务的名称。
-
`build: .`:指定了 Dockerfile 的构建路径。`.` 表示当前目录,这意味着 Docker 将在当前目录中查找 `Dockerfile` 文件并构建容器。
-
`ports:`:定义了端口映射。在这个示例中,容器的端口 `3000` 映射到主机的端口 `80`。
-
`volumes:`:定义了卷挂载。这使得当前目录中的文件可以在容器内部被访问,并且在代码更改时容器可以立即重新加载。
-
`environment:`:定义了环境变量。在这个示例中,我们设置了 `NODE_ENV` 变量为 `production`,这会影响 Node.js 应用程序的行为。
编写 `docker-compose.yml` 文件时,确保指定正确的服务名称、构建路径、端口映射、卷挂载和环境变量,以及使用正确的语法和缩进。这样,Docker Compose 就能正确地创建和管理你的容器。