Я недавно сталкивался с этим и задавался вопросом, что означает &django
version: '2'
services:
django: &django
Я не вижу ничего в документах, связанных с этим.
Я недавно сталкивался с этим и задавался вопросом, что означает &django
version: '2'
services:
django: &django
Я не вижу ничего в документах, связанных с этим.
Это функция YAML, называемая якорями, которая не относится к Docker Compose. Я бы посоветовал вам посмотреть ниже URL для получения более подробной информации
https://learnxinyminutes.com/docs/yaml/
Следуйте разделу EXTRA YAML FEATURES
В YAML также есть удобная функция под названием "якоря", которая позволяет легко дублировать содержимое в документе. Оба эти ключа будут иметь одинаковое значение:
anchored_content: & anchor_name Эта строка будет отображаться как значение двух ключей. other_anchor: * anchor_name
base: &base
name: Everyone has same name
foo: &foo
<<: *base
age: 10
bar: &bar
<<: *base
age: 20
В дополнение к ответу Таруна &
идентифицирует привязку, а *
- псевдоним, ссылающийся на привязку. Это описывается как следующее в спецификации YAML:
В графе представлений узел может появляться в нескольких коллекциях. При сериализации таких данных первое вхождение узла идентифицируется привязкой. Каждое последующее вхождение сериализуется как псевдоним, который ссылается на эту привязку.
Примечание:
Для тех, кто хочет начать использовать якоря в файлах docker-compose, существует более мощный способ создания якорей многократного использования с помощью полей расширения YAML docker-compose.
version: "3.4"
# x-docker-data is an extension and when docker-compose
# parses the YAML, it will not do anything with it
x-docker-data: &docker-file-info
build:
context: .
dockerfile: Dockerfile
services:
some_service_a:
<<: *docker-file-info
restart: on-failure
ports:
- 8080:9090
some_service_b:
<<: *docker-file-info
restart: on-failure
ports:
- 8080:9595