docker-compose.yml 文件详解
时间: 2025-02-19 18:31:39 浏览: 27
Docker Compose 文件格式和配置项详解
一、版本声明
docker-compose.yml
文件的第一部分通常是 version
字段,用于指定当前使用的 Docker Compose 文件格式版本。常见的版本有 "3" 或者 "3.x"[^4]。
version: '3'
二、服务定义
接下来是 services
节点,在这里可以定义多个服务及其属性。每个服务代表一个独立的应用组件或微服务单元。以下是几个重要的字段:
image: 指定要拉取的基础镜像名称。
image: redis:alpine
build: 如果需要基于本地的 Dockerfile 来构建自定义镜像,则可以通过此选项指明上下文路径以及可选参数。
build: context: ./dir dockerfile: Dockerfile-alternate args: BUILD_DATE: 1980-07-28
command: 替代默认启动命令执行特定指令。
command: ["bash", "-c", "echo Hello"]
environment: 设置环境变量列表。
environment: - RACK_ENV=development - SESSION_SECRET
ports: 映射主机端口到容器内部端口。
ports: - "8080:80"
volumes: 绑定挂载卷以便数据持久化存储或其他用途。
volumes: - type: bind source: ./data/mysql target: /var/lib/mysql
depends_on: 表达其他服务间的依赖关系,虽然这不会影响实际启动顺序但是有助于逻辑上的清晰表达。
depends_on: - db - redis
三、网络设置
为了使不同服务间能互相通信,默认情况下会创建一个新的桥接网络供所有关联的服务加入;也可以显式地定义额外的网络资源并让某些服务参与其中[^2]。
networks:
frontend:
backend:
四、卷管理
除了临时性的内存盘外,还可以通过 volumes
关键字来声明命名卷,从而实现跨宿主机的数据共享与迁移支持。
volumes:
db_data:
相关推荐














