Kompose

kompose is a tool to help users familiar with docker-compose move to Kubernetes. It takes a Docker Compose file and translates it into Kubernetes resources.

View the Project on GitHub kubernetes-incubator/kompose

Watch Star Fork

Conversion

This document outlines all the conversion details regarding docker-compose.yaml values to Kubernetes / OpenShift artifacts.

Value Version Supported K8s / OpenShift Notes
SERVICE        
build   Y OpenShift: BuildConfig Converts, but local builds are not yet supported. See issue 97
cap_add, cap_drop   N    
command   Y Pod.Spec.Container.Command  
cgroup_parent   N   No compatibility with Kubernetes / OpenShift. Limited use-cases with Docker.
container_name   Y Mapped to both Metadata.Name and Deployment.Spec.Containers.Name  
deploy v3 N   Upcoming support started
devices   N   Not supported within Kubernetes, see this issue
depends_on   N    
dns   N    
dns_search   N    
tmpfs   N    
entrypoint   Y Pod.Spec.Container.Command Same as command
env_file   N    
environment   Y Pod.Spec.Container.Env  
expose   Y Service.Spec.Ports  
extends v2 N    
external_links   N    
extra_hosts   N    
group_add   N    
healthcheck v2.1/v3 N    
image   Y Deployment.Spec.Containers.Image  
isolation   N    
labels   Y Metadata.Annotations  
links   N    
logging   N    
network_mode   N    
networks   N    
pid   N    
ports   Y Service.Spec.Ports  
security_opt   N    
stop_grace_period   N    
stop_signal   N    
sysctls   N    
ulimits   N   See this issue on the k8s repo
userns_mode   N    
volumes   Y PersistentVolumeClaim Creates a PersistentVolumeClaim. Can only be created if there is already a PersistentVolume within the cluster
volume_driver v2 N    
volumes_from v2 N    
cpu_shares v2 N    
cpu_quota v2 N    
cpuset v2 N    
mem_limit v2 Y …Containers.Resources.Limits.Memory  
memswap_limit v2 N   Use mem_limit
VOLUME        
driver   N    
driver_opts   N    
external   N    
labels   N    
NETWORK        
driver   N    
driver_opts   N    
enable_ipv6   N    
ipam   N    
internal   N    
labels   N    
external   N