Perhaps something like the following:
1) The Marathon request accepts a set of fileName's consisting of the yml files encompassing the Extends definition. With some value to indicate which yml file is the main one to be passed to docker-compose or require the main file to be named "docker-compose.yml".
2) The set of files could then be read in and dynamic ports in all files are assigned
3) Service names and links in the main compose file are updated and the extends file name values updated to point to the newly generated files with assigned ports (no need to update links names in the non-main yml file as they are not allowed to be defined there)
4) Pass the main yml file to "docker-compose up" as usual and it will take care of loading the extended files.
I'm sure there are a lot more details that would need to be considered but it would be a very useful feature to have.
Yup we will support this. But first we are working on some edge case error handling. Once we finish handling those, we will be back adding features that are direct compose related.
It would be great if there was support for docker compose files that are using the Extends feature.
https://docs.docker.com/compose/extends/
Perhaps something like the following: 1) The Marathon request accepts a set of fileName's consisting of the yml files encompassing the Extends definition. With some value to indicate which yml file is the main one to be passed to docker-compose or require the main file to be named "docker-compose.yml". 2) The set of files could then be read in and dynamic ports in all files are assigned 3) Service names and links in the main compose file are updated and the extends file name values updated to point to the newly generated files with assigned ports (no need to update links names in the non-main yml file as they are not allowed to be defined there) 4) Pass the main yml file to "docker-compose up" as usual and it will take care of loading the extended files.
I'm sure there are a lot more details that would need to be considered but it would be a very useful feature to have.