社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

如何将多个docker compose文件与扩展名字段和yml锚合并?

membersound • 3 年前 • 1424 次点击  

我想创建一个具有默认配置的基本docker文件,并将其与特定于环境的配置合并:

docker-compose.base.yml : 卷数: .... 健康检查: 测试:。。。

docker-compose.prod.yml : 版本:“3.7”

services:
  hello-docker:
    <<: *my-defaults
    image: ...
    ports: ...

但当我运行 docker-compose config 命令,我得到一个错误:

docker-compose -f docker-compose.base.yml -f docker-compose.prod.yml config

结果:

yaml.composer.ComposerError: found undefined alias 'my-defaults'
  in "./docker-compose.yml", line 5, column 9

那么,与锚合并是不可能的吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/132212
文章 [ 1 ]  |  最新文章 3 年前
David Maze
Reply   •   1 楼
David Maze    3 年前

YAML锚点是单个文件的本地锚点。所以不,你不能在一个文件中定义一个锚,然后在另一个文件中引用它。

因为在使用时,Compose将合并设置 multiple Compose files 不过,你真的不需要这么做。如果你的基地 docker-compose.yml 档案上说

version: '3.8'
services:
  app:
    image: registry.example.com/app/${APP_TAG:-latest}
    healthcheck: { ... }

然后是你的发展 docker-compose.dev.yml

version: '3.8'
services:
  app:
    build: .

然后它将继承 image: 姓名和 healthcheck: 设置,如果两者都有 docker-compose -f 选项。