Jump to content

DevOps/Docker/docker compose/Docker compose file: docker-compose.yml

From Wikiversity

Review different versions of docker-compose.yml

[1]

YAML Explained

[edit | edit source]

Version and at least one service is needed.

version: "3.7"
services:
  ...
volumes:
  ...
networks:
  ...


Version 3

[edit | edit source]

Removed options: volume_driver, volumes_from, cpu_shares, cpu_quota, cpuset, mem_limit, memswap_limit, extends, group_add

v3.7 (18.06.0+)

  • init in service definitions
  • rollback_config in deploy configurations
  • Support for extension fields at the root of service, network, volume, secret and config definitions

v3.6 (8.02.0+)

  • tmpfs size for tmpfs-type mounts

v3.5

  • isolation in service definitions
  • name for networks, secrets and configs
  • shm_size in build configurations

Restart policy

[edit | edit source]
restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
  • Version 2:
- restart: no|always|on-failure</code><ref>https://docs.docker.com/compose/compose-file/compose-file-v2/</ref>


logging

[edit | edit source]
driver: none|local|json-file|syslog|journald|gelf|fluentd|awslogs|splunk|etwlogs|gcplogs|logentries
json-file is the default option

See also: docker logs: docker logs --since 1h CONTAINER_NAME


See also

[edit | edit source]
  1. https://docs.docker.com/compose/compose-file/