3.6 KiB
Ansible Role: Docker
An Ansible Role that installs Docker for Debian. This role allows to add docker
group to users, can also manage docker networks and containers.
Role Variables
Available variables are listed below, along with default values (see defaults/main.yml
):
Docker package
# Edition can be one of: 'ce' (Community Edition) or 'ee' (Enterprise Edition).
docker_edition: 'ce'
docker_package: "docker-{{ docker_edition }}"
docker_package_state: present
You can control whether the package is installed, uninstalled, or at the latest version by setting docker_package_state
to present
, absent
, or latest
, respectively. Note that the Docker daemon will be automatically restarted if the Docker package is updated. This is a side effect of flushing all handlers (running any of the handlers that have been notified by this and any other role up to this point in the play).
Docker service state
docker_service_state: started
docker_service_enabled: true
docker_restart_handler_state: restarted
Variables to control the state of the docker
service, and whether it should start on boot. If you're installing Docker inside a Docker container without systemd or sysvinit, you should set these to stopped
and set the enabled variable to no
.
Docker installation
docker_apt_release_channel: stable
docker_apt_arch: amd64
docker_apt_repository: "deb [arch={{ docker_apt_arch }}] https://download.docker.com/linux/{{ ansible_distribution|lower }} {{ ansible_distribution_release }} {{ docker_apt_release_channel }}"
You can switch the channel to edge
if you want to use the Edge release.
Docker users
docker_users:
- user1
- user2
A list of system users to be added to the docker
group (so they can use Docker on the server).
A list of system users to be added to the docker
group (so they can use Docker on the server).
docker_daemon_options:
storage-driver: "overlay2"
log-opts:
max-size: "100m"
Docker networks
See official documentation for docker_network
module for more informations.
docker_networks:
- name: network1
- name: network2
state: absent
A list of docker networks to manage.
Docker containers
See official documentation for docker_container
module for more informations.
docker_containers:
- name: postgres
image: postgres:9.6
state: started
restart_policy: unless-stopped
env:
POSTGRES_USER: foo
POSTGRES_PASSWORD: bar
POSTGRES_DB: baz
- name: memcached
image: memcached:alpine
state: started
restart_policy: unless-stopped
- name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:5.6.13
state: started
restart_policy: unless-stopped
memory: 1g
ulimits:
- memlock:-1:-1 # <type>:<soft>:<hard>
Tags
Tag | DESCRIPTION |
---|---|
docker | Global tag |
docker_asserts | Asserts tasks |
docker_install | Install docker |
docker_users | Configure docker users |
docker_networks | Configure docker networks |
docker_containers | Deploy docker containers |
License
MIT view LICENSE