Comment on page
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 | ❌ | | |
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 | 🚧 | | |