.. _docker_compose_compat_matrix: Docker Compose =============== services -------- +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | Property Name | Supported | Note/Extras | Replaced By | Reference | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | build | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | cap_add | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | cap_drop | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | command | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | configs | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | cgroup_parent | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | container_name | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | credential_spec | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | `deploy`_ | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | devices | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | depends_on | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | dns | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | dns_search | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | domainname | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | tmpfs | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | entrypoint | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | env_file | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | environment | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | expose | Y | When expose and ports set the same target port, | | | | | | ports takes precedence. | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | external_links | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | extra_hosts | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | group_add | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | healthcheck | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | hostname | Y | Used strategically when appropriateReplaced mostly by | | | | | | | | | | | | | | | | | | :ref:`ecs_task_family_hostname_ref` | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | image | Y | x-aws-pull_policy | | | | | | supported | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | isolation | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | labels | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | links | Y | Ignored when using | | | | | | AWS Fargate | | | | | | Generally not recommended with ECS at scale | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | logging | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | network_mode | N | Always awsvpc with Fargate | | | | | | awsvpc default for EC2 | | | | | | Bridge default for ECS Anywhere | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | networks | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | pid | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | ports | Y | long and short | | | | | | syntax | | | | | | always awsvpc | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | secrets | Y | x-secrets | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | security_opt | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | stop_grace_period | N | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | stop_signal | N | Incompatible with | | | | | | AWS ECS | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | sysctls | Y | Ignored when using | | | | | | AWS Fargate | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | ulimits | Y | only nofile for | | | | | | Fargate | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | userns_mode | N | Incompatible with | | | | | | AWS ECS | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | volumes | Y | x-efs and nfs | | | | | | autodetect | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | restart | N | Incompatible with | | | | | | AWS ECS | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | shm_size | Y | Ignored when using | | | | | | AWS Fargate | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | read_only | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ | working_dir | Y | | | | +-------------------+-----------+-------------------------------------------------------+-------------+-----------+ deploy ++++++++ .. tip:: See :ref:`ecs_composex_scaling_syntax_reference` and :ref:`composex_deploy_extension` for more scaling settings. See :ref:`composex_families_labels_syntax_reference` for more details on combining services into a single task definition .. hint:: Not all `ulimits`_ are supported in AWS Fargate. ECS Compose-X Will automatically deactivate the ones not supported. .. tip:: **user** expects the format **uid:gid** to use, users and group names aren't supported. .. _ulimits: https://docs.docker.com/compose/compose-file/compose-file-v3/#ulimits volumes -------- +------------------+-----------+------------------------+-------------+-----------+ | Property Name | Supported | Notes/Extras | Replaced By | Reference | +==================+===========+========================+=============+===========+ | driver | Y | nfs autodetect | | | | | | for NFS with AWS EFS | | | +------------------+-----------+------------------------+-------------+-----------+ | driver_opts | Y | supports ecs-plugin | | | | | | definition | | | +------------------+-----------+------------------------+-------------+-----------+ | driver_opts.type | Y | override to bind | | | | | | for Fargate | | | +------------------+-----------+------------------------+-------------+-----------+ | driver_opts.o | N | | | | +------------------+-----------+------------------------+-------------+-----------+ | driver.name | Y | efs/nfs autodetect for | | | | | | NFS with AWS EFS | | | +------------------+-----------+------------------------+-------------+-----------+ | labels | N | | | | +------------------+-----------+------------------------+-------------+-----------+ | external | | Auto defines | | | | | | x-efs.use | | | +------------------+-----------+------------------------+-------------+-----------+ | name | Y | Auto defines | | | +------------------+-----------+------------------------+-------------+-----------+ network -------- Supported with mapping of AWS VPC & Subnets. .. hint:: However DNS features are not supported, you can define a number of DNS Settings for your deployment. See :ref:`dns_reference_syntax`