kompose/docs/conversion.md
gitlawr 1485ed4479 add support for "pid" key
solve #610
convert service.pid to Pod.Spec.HostPid
set Pod.Spec.HostPid to true if service.pid ="host", to false otherwise
update conversion.md on support for the key
2017-05-31 22:39:17 +08:00

66 lines
13 KiB
Markdown

# Conversion reference
This document outlines all possible conversion details regarding `docker-compose.yaml` values to Kubernetes / OpenShift artifacts. This includes version 1, 2 and 3 of Docker Compose.
| Value | Support | K8s / OpenShift | Notes |
|-------------------|---------|------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|
| SERVICE | | | |
| build | Y | OpenShift: BuildConfig | Converts, but local builds are not yet supported. See issue 97 |
| cap_add, cap_drop | Y | Pod.Spec.Container.SecurityContext.Capabilities.Add/Drop | |
| 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 | N | | Upcoming support started |
| devices | N | | Not supported within Kubernetes, see this issue |
| depends_on | N | | |
| dns | N | | |
| dns_search | N | | |
| tmpfs | Y | Pod.Spec.Containers.Volumes.EmptyDir | Creates emptyDirvolume with medium set to Memory & mounts given directory inside container |
| entrypoint | Y | Pod.Spec.Container.Command | Same as command |
| env_file | N | | |
| environment | Y | Pod.Spec.Container.Env | |
| expose | Y | Service.Spec.Ports | |
| extends | Y | | Extends by utilizing the same image supplied |
| external_links | N | | |
| extra_hosts | N | | |
| group_add | N | | |
| healthcheck | N | | |
| image | Y | Deployment.Spec.Containers.Image | |
| isolation | N | | |
| labels | Y | Metadata.Annotations | |
| links | N | | |
| logging | N | | |
| network_mode | N | | |
| networks | N | | |
| pid | Y | Pod.Spec.HostPID | |
| ports | Y | Service.Spec.Ports | |
| security_opt | N | | |
| stop_grace_period | Y | Pod.Spec.TerminationGracePeriodSeconds | |
| 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 | N | | |
| volumes_from | Y | PersistentVolumeClaim | Creates a PersistentVolumeClaim that is both shared by deployment and deployment config (OpenShift) |
| cpu_shares | N | | |
| cpu_quota | N | | |
| cpuset | N | | |
| mem_limit | Y | …Containers.Resources.Limits.Memory | |
| memswap_limit | 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 | | |