-
Notifications
You must be signed in to change notification settings - Fork 777
Closed as not planned
Labels
Description
What is the problem you're trying to solve
On can easily push all images involves in a Compose application, but still need to find another way to share the compose.yaml definition.
I suggest we define a mechanism and media type to push a compose.yaml file to a registry, in addition to images, with adequate OCI references
Describe the solution you'd like
Push Compose application as an OCI artifact.
We would use:
application/vnd.docker.compose.applicationmedia type for the whole compose applicationapplication/vnd.docker.compose.config+yamlmedia type for the compose.yaml model- OCI or Docker manifest media type for referenced images
{
"schemaVersion": 2,
"mediaType": "application/vnd.oci.artifact.manifest.v1+json",
"artifactType": "application/vnd.docker.compose.application",
"blobs": [
{
"mediaType": "application/vnd.docker.compose.config+yaml",
"digest": "sha256:.."
"size": 123,
},
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"digest": "sha256:.",
"size": 123,
},Mechanism to push/pull such a manifest is our of the scope of the compose-specification, but for illustration this could result into something like this:
$ docker compose push --application registry/foo/bar
[+] Running 3/3
⠼ Pushing foo: xxxx Layer already exists 2.4s
⠸ Pushing compose.yaml: xxxx 2.4s
⠸ Pushing compose application: xxxx 2.4s
$ docker compose --application registry/foo/bar up
...
Additional context
This somehow resurrects the main concept of Docker App
Reactions are currently unavailable