Go to file
blallo 3c13fb3e78
Fix for debian testing
2021-02-25 23:49:26 +01:00
.github YAML syntax fix. 2019-12-11 10:20:09 -06:00
defaults Fix for debian testing 2021-02-25 23:49:26 +01:00
files Fix for debian testing 2021-02-25 23:49:26 +01:00
handlers Fixes #42: Allow control over docker_service state. 2018-05-18 16:58:50 -05:00
meta Issue #150: Add buster to supported Debian versions [ci skip]. 2019-12-11 09:30:23 -06:00
molecule/default Remove redundant latest tag. 2018-10-23 10:49:04 -05:00
tasks Fix for debian testing 2021-02-25 23:49:26 +01:00
.gitignore Switch tests to use Molecule. 2018-09-26 22:13:32 -05:00
.travis.yml Remove broken Fedora tests. 2019-12-16 12:06:53 -06:00
LICENSE Add a LICENSE file for MIT license. [ci skip] 2017-03-31 11:23:23 -05:00
README.md Fix int to string implicit conversion issue. 2019-12-11 09:27:09 -06:00


Ansible Role: Docker

Build Status

An Ansible Role that installs Docker on Linux.



Role Variables

Available variables are listed below, along with default values (see defaults/main.yml):

# Edition can be one of: 'ce' (Community Edition) or 'ee' (Enterprise Edition).
docker_edition: 'ce'
docker_package: "docker-{{ docker_edition }}"
docker_package_state: present

The docker_edition should be either ce (Community Edition) or ee (Enterprise Edition). You can also specify a specific version of Docker to install using the distribution-specific format: Red Hat/CentOS: docker-{{ docker_edition }}-<VERSION>; Debian/Ubuntu: docker-{{ docker_edition }}=<VERSION>.

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: 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_install_compose: true
docker_compose_version: "1.22.0"
docker_compose_path: /usr/local/bin/docker-compose

Docker Compose installation options.

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 }}"
docker_apt_ignore_key_error: True

(Used only for Debian/Ubuntu.) You can switch the channel to edge if you want to use the Edge release.

docker_yum_repo_url: https://download.docker.com/linux/centos/docker-{{ docker_edition }}.repo
docker_yum_repo_enable_edge: '0'
docker_yum_repo_enable_test: '0'

(Used only for RedHat/CentOS.) You can enable the Edge or Test repo by setting the respective vars to 1.

  - user1
  - user2

A list of system users to be added to the docker group (so they can use Docker on the server).

Use with Ansible (and docker Python library)

Many users of this role wish to also use Ansible to then build Docker images and manage Docker containers on the server where Docker is installed. In this case, you can easily add in the docker Python library using the geerlingguy.pip role:

- hosts: all

      - name: docker

    - geerlingguy.pip
    - geerlingguy.docker



Example Playbook

- hosts: all
    - geerlingguy.docker



Author Information

This role was created in 2017 by Jeff Geerling, author of Ansible for DevOps.