使用正确的依赖处理、网络和卷管理来定义多容器应用。
dependitions on:仅等待容器启动服务是一项面向实际任务的技能,主要用于添加健康检查+实际准备条件:没有目标的健康检查。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
depends_on: 单独使用仅等待容器启动——服务很可能尚未真正就绪depends_on:
db:
condition: service_healthy
healthcheck,则 service_healthy 条件将失败healthcheck: test: ["CMD", "pg_isready"] start_period: 30s
start_period:初始宽限期——在此期间内的健康检查失败不计入失败次数start_perioddocker compose down 会保留卷(volumes)docker compose down -v 将**删除所有卷**——导致数据丢失-v 参数常因教程习惯被误加——在生产环境中会造成灾难性后果down 后仍存在;匿名卷(anonymous volumes)会在 down 时被删除deploy:
resources:
limits:
memory: 512M
node_modules、.git、密钥等可能被意外复制进镜像.gitignore 一致——应与 Dockerfile 放置在同一目录层级.git、node_modules、.env、*.log 及各类构建产物docker-compose.yml:通用基础配置,适用于所有环境docker-compose.override.yml:自动加载,专用于开发环境(如挂载、端口映射等)docker compose -f docker-compose.yml -f docker-compose.prod.yml upservices:
mailhog:
profiles: [dev]
profiles 的服务默认不启动——使 docker compose up 更简洁清晰--profile dev 显式启用.env 文件env_file: 指令指定的文件environment: 字段定义的变量(对该变量而言优先级最低).env 文件名必须严格为 .env——.env.local 等命名不会被自动加载docker compose config 命令调试——输出最终解析后的完整配置值