Modern Ansible role that installs Docker Engine and Docker Compose on Linux distributions including Ubuntu, Debian, and RHEL/CentOS.
- Ansible 2.12 or higher
- Supported OS:
- Ubuntu 22.04, 24.04, 26.04
- Debian 11, 12, 13
- RHEL/CentOS 8, 9, 10
- Rocky Linux 8, 9, 10
Docker release channel:
docker_release_channel: stable # Options: stable, testDocker version:
docker_version: latest # Use 'latest' or specific version like '24.0.7'Docker Compose configuration:
docker_compose_version: latest # Use 'latest' or specific version
docker_compose_install_method: plugin # Options: plugin (recommended), standaloneService configuration:
docker_service_state: started
docker_service_enabled: true
docker_start_on_boot: truePackage management:
docker_package_state: present # Options: present (recommended), latestDocker users:
docker_users: []
# Example:
# docker_users:
# - alice
# - bobA list of system users to be added to the docker group (allows running Docker without sudo).
Docker daemon options:
docker_daemon_options: {}
# Example:
# docker_daemon_options:
# log-driver: "json-file"
# log-opts:
# max-size: "10m"
# max-file: "3"Security options:
docker_userns_remap: false # Enable user namespace remapping
docker_userns_remap_user: "dockremap" # User for namespace remapping
docker_rootless: false # Install rootless DockerNetwork configuration:
docker_tcp_listen: false # Enable TCP socket (WARNING: Security risk)
docker_tcp_port: 2376
docker_tls_enabled: falseStorage configuration:
docker_storage_driver: "" # Leave empty for default---
- hosts: all
become: yes
roles:
- rosslopez.docker---
- hosts: docker_hosts
become: yes
vars:
docker_release_channel: stable
docker_version: "24.0.7"
docker_compose_version: "2.24.0"
docker_users:
- alice
- bob
docker_daemon_options:
log-driver: "json-file"
log-opts:
max-size: "10m"
max-file: "3"
roles:
- rosslopez.docker---
- hosts: development
become: yes
vars:
docker_rootless: true
docker_users:
- developer
roles:
- rosslopez.dockerNone. This role uses modules included with ansible-core.
MIT
This role was created by Ross Lopez.