Skip to content

Role: docker

Installs Docker CE and the Compose plugin. Optionally deploys a custom daemon.json.

Hosts: arrstack, nginx

Tasks

Task Tag
Install prerequisites (ca-certificates, curl, gnupg) docker, install
Add Docker GPG key docker, install
Add Docker apt repository docker, install
Install docker-ce, docker-ce-cli, containerd.io, docker-compose-plugin docker, install
Deploy daemon.json (if docker_daemon_config is defined) docker, config
Enable Docker service at boot docker, install
Add Ansible user to docker group docker, install

Key variables

Variable Source Notes
docker_daemon_config host_vars Dict written to /etc/docker/daemon.json. Optional.

arrstack daemon config (arrstack.yml)

docker_daemon_config:
  log-driver: "json-file"
  log-opts:
    max-size: "10m"
    max-file: "3"
  storage-driver: "overlay2"

nginx has no docker_daemon_config set — Docker runs with defaults.

Templates

  • daemon.json.j2 — Renders the docker_daemon_config dict as JSON to /etc/docker/daemon.json

Handlers

  • Restarts Docker when daemon.json changes
  • arrstack — Compose deployment built on top of this role