2017-02-24 05:08:18 +01:00
# Ansible Role: Docker
[![Build Status ](https://travis-ci.org/geerlingguy/ansible-role-docker.svg?branch=master )](https://travis-ci.org/geerlingguy/ansible-role-docker)
2017-05-03 17:43:11 +02:00
An Ansible Role that installs [Docker ](https://www.docker.com ) on Linux.
2017-02-24 05:08:18 +01:00
## Requirements
None.
## Role Variables
Available variables are listed below, along with default values (see `defaults/main.yml` ):
2017-05-10 05:29:25 +02:00
# Edition can be one of: 'ce' (Community Edition) or 'ee' (Enterprise Edition).
docker_edition: 'ce'
docker_package: "docker-{{ docker_edition }}"
2017-08-01 04:17:13 +02:00
docker_package_state: present
2017-02-24 05:08:18 +01:00
2017-10-21 17:49:35 +02:00
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 a format like `docker-{{ docker_edition }}=<VERSION>` . And 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.
2017-05-03 17:44:49 +02:00
docker_install_compose: true
2017-10-14 18:10:07 +02:00
docker_compose_version: "1.16.1"
2017-05-03 18:06:24 +02:00
docker_compose_path: /usr/local/bin/docker-compose
2017-05-03 17:44:49 +02:00
Docker Compose installation options.
2017-05-10 05:29:25 +02:00
docker_apt_release_channel: stable
2017-07-20 10:15:33 +02:00
docker_apt_repository: "deb https://download.docker.com/linux/{{ ansible_distribution|lower }} {{ ansible_distribution_release }} {{ docker_apt_release_channel }}"
2017-05-03 17:44:49 +02:00
2017-05-10 05:29:25 +02:00
(Used only for Debian/Ubuntu.) You can switch the channel to `edge` if you want to use the Edge release.
2017-05-03 17:44:49 +02:00
2017-05-10 05:29:25 +02:00
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
2017-05-03 17:44:49 +02:00
2017-05-10 05:29:25 +02:00
(Used only for RedHat/CentOS.) You can enable the Edge or Test repo by setting the respective vars to `1` .
2017-02-24 05:08:18 +01:00
2017-05-31 06:03:14 +02:00
## Use with Ansible (and `docker` Python library)
2017-05-30 05:08:59 +02:00
2017-05-31 06:03:14 +02:00
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:
2017-05-30 05:08:59 +02:00
2017-06-30 13:56:21 +02:00
```yaml
- hosts: all
vars:
pip_install_packages:
- name: docker
roles:
- geerlingguy.pip
- geerlingguy.docker
```
2017-05-30 05:08:59 +02:00
2017-02-24 05:08:18 +01:00
## Dependencies
None.
## Example Playbook
2017-06-30 13:56:21 +02:00
```yaml
- hosts: all
roles:
- geerlingguy.docker
```
2017-02-24 05:08:18 +01:00
## License
MIT / BSD
## Author Information
This role was created in 2017 by [Jeff Geerling ](https://www.jeffgeerling.com/ ), author of [Ansible for DevOps ](https://www.ansiblefordevops.com/ ).