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

KeysSupportedKubernetesNotes

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