Docker Compose conversion support

The Release team has worked with thousands of Docker Compose files to generate working environments in Kubernetes. Here is the supported conversion matrix for Docker Compose

Keys
Supported
Kubernetes
Notes

build

βœ…

build: context

βœ…

build: dockerfile

βœ…

build: args

βœ…

build: cache_from

🚧

cap_add

🚧

cap_drop

🚧

command

βœ…

Pod.Spec.Container.Args

configs

βœ…

ConfigMap

Configs with "external" = true are skipped.

configs: short-syntax

βœ…

configs: long-syntax

βœ…

configs: source

βœ…

configs: target

βœ…

configs: uid

🚧

configs: gid

🚧

configs: mode

βœ…

cgroup_parent

❌

container_name

🚧

credential_spec

❌

deploy

βœ…

deploy: mode

❌

kompose supports mode by setting "replicas" = 1 when "mode" = "global". Release does not support this functionality. See https://github.com/kubernetes/kompose/pull/771

deploy: replicas

βœ…

Deployment.Spec.Replicas

deploy: placement

🚧

deploy: update_config

🚧

deploy: resources

βœ…

deploy: restart_policy

🚧

deploy: labels

🚧

devices

❌

depends_on

βœ…

Release's Application Template - Workflows

dns

❌

dns_search

❌

domainname

🚧

tmpfs

🚧

entrypoint

βœ…

Pod.Spec.Container.Command

env_file

βœ…

Pod.Spec.Container.Env

environment

βœ…

Pod.Spec.Container.Env

expose

🚧

endpoint_mode

🚧

extends

βœ…

Release will read the extended file from the VCS and add the appropriate information

external_links

❌

extra_hosts

❌

group_add

🚧

healthcheck

βœ…

hostname

🚧

image

βœ…

Deployment.Spec.Containers.Image

isolation

❌

labels

🚧

links

❌

logging

❌

network_mode

❌

networks

🚧

networks: aliases

❌

networks: addresses

❌

pid

🚧

ports

βœ…

Service.Spec.Ports

ports: protocol

βœ…

Service.Spec.Ports

ports: published

βœ…

Service.Spec.Ports

ports: target

βœ…

Service.Spec.Ports

secrets

βœ…

Secrets

Release will map secret definitions into the Application Template. They require adding secrets to Release's Secrets Manager

secrets: source

βœ…

secrets: target

βœ…

secrets: uid

❌

secrets: gid

❌

secrets: mode

❌

security_opt

❌

stop_grace_period

🚧

stop_signal

❌

Not supported in Kuberentes currently. See https://github.com/kubernetes/kubernetes/issues/30051

sysctls

❌

ulimits

❌

userns_mode

❌

volumes

βœ…

PersistentVolumeClaim

Volumes with "external" = true are skipped.

volumes: short-syntax

βœ…

volumes: long-syntax

βœ…

volumes: read_only

βœ…

volumes: source

βœ…

PersistentVolumeClaim

volumes: target

βœ…

PersistentVolumeClaim

volumes: type

βœ…

PersistentVolumeClaim

"volume", "bind", and "tmpfs" are supported. "npipe" is not supported.

restart

🚧

Last updated

Was this helpful?