学习优先级:★★★★★

易用性:★★★★☆

在 Docker Compose 中,容器和网络的配置通过 docker-compose.yml 文件来管理。该文件使用 YAML 语法,提供了一种简单且结构化的定义不同服务的方式。

以下是一个基本的 docker-compose.yml 文件示例,展示如何使用 YAML 语法配置服务。

示例代码

version: '3'  # 定义 Docker Compose 文件的版本

services:  # 定义服务列表
  web:  # 定义名为 "web" 的服务
    image: nginx  # 使用的 Docker 镜像
    ports:  # 映射端口
      - "80:80"  # 主机端口:容器端口

  db:  # 定义名为 "db" 的服务
    image: postgres  # 使用的 Docker 镜像
    environment:  # 设置环境变量
      POSTGRES_PASSWORD: example  # 设置数据库用户的密码

执行结果

运行此文件(使用 docker-compose up 命令)时,会启动两个容器:

  • 一个 Nginx 容器,可在主机的 80 端口访问。
  • 一个 PostgreSQL 容器,使用预定义的密码。

docker-compose.yml 文件使用 YAML 语法定义服务、网络和卷。在本示例中,首先设置了文件的版本(version: '3'),然后定义了服务列表。每个服务可以包含不同的设置,例如 image(使用的容器镜像)和 ports(对外暴露的端口)。

补充说明

YAML 是一种广泛用于应用配置的格式,全称为 "YAML Ain't Markup Language"。它易于阅读,使用缩进来表示层级关系。但需要注意的是,缩进错误可能会导致配置文件无法被正确解析。