今天在搭建一个superset,发现docker-compose.yml文件有个&部分看不懂。
x-superset-image: &superset-image apache/superset:latest-dev
x-superset-user: &superset-user root
x-superset-depends-on: &superset-depends-on
- db
- redis
x-superset-volumes: &superset-volumes
# /app/pythonpath_docker will be appended to the PYTHONPATH in the final container
- ./docker:/app/docker
- ./superset:/app/superset
- ./superset-frontend:/app/superset-frontend
- superset_home:/app/superset_home
- ./tests:/app/tests
简单的例子
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
然后经过docker-compose config 输出可以解析到内容,然后就能看明白了
root@kafka tmp]# docker-compose config
services:
some_service_a:
build:
context: /tmp
dockerfile: Dockerfile
ports:
- published: 8080
target: 9090
restart: on-failure
some_service_b:
build:
context: /tmp
dockerfile: Dockerfile
ports:
- published: 8080
target: 9595
restart: on-failure
version: '3.4'
其实描点那部分是yml的内容,有关内容可以找一下遵循EXTRA YAML FEATURES部分参考学习。