You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.7 KiB
68 lines
1.7 KiB
---
|
|
- name: install system dependencies
|
|
package:
|
|
name: "{{ item }}"
|
|
state: present
|
|
register: _dependencies_install
|
|
retries: 2
|
|
until: _dependencies_install | success
|
|
with_items: "{{ docker_dependencies }}"
|
|
|
|
- name: remove old versions
|
|
package:
|
|
name: "{{ item }}"
|
|
state: absent
|
|
with_items:
|
|
- lxc-docker
|
|
- docker-engine
|
|
- docker
|
|
- docker.io
|
|
|
|
- block:
|
|
- name: download GPG key
|
|
get_url:
|
|
url: "https://download.docker.com/linux/ubuntu/gpg"
|
|
dest: "/tmp/docker.gpg"
|
|
become: no
|
|
run_once: true
|
|
delegate_to: localhost
|
|
|
|
- name: add GPG key
|
|
apt_key:
|
|
data: "{{ lookup('file', '/tmp/docker.gpg') }}"
|
|
state: present
|
|
|
|
- name: add docker repository | Debian
|
|
apt_repository:
|
|
repo: "deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable"
|
|
state: present
|
|
when: ansible_os_family == "Debian"
|
|
|
|
- name: add docker repository | RedHat
|
|
yum_repository:
|
|
name: docker-ce-stable
|
|
description: "Docker CE Stable - $basearch"
|
|
baseurl: "https://download.docker.com/linux/{{ ansible_distribution | lower }}/$releasever/$basearch/stable"
|
|
gpgcheck: true
|
|
gpgkey: "https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg"
|
|
when: ansible_os_family == "RedHat" and ansible_distribution != "OracleLinux"
|
|
|
|
- name: Install docker
|
|
package:
|
|
name: "{{ docker_package }}"
|
|
state: "{{ (docker_version == 'latest') | ternary('latest', 'present') }}"
|
|
update_cache: yes
|
|
register: __ret
|
|
retries: 10
|
|
until: __ret is succeeded
|
|
notify:
|
|
- restart docker
|
|
|
|
- name: ensure docker-py module is installed
|
|
pip:
|
|
name: docker-py
|
|
version: 1.9.0
|
|
when: dockerpy
|
|
|
|
|