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.

79 lines
2.1 KiB

---
- name: install system dependencies
package:
name: "{{ item }}"
state: present
register: __ret
retries: 5
until: __ret is succeeded
with_items: "{{ docker_dependencies }}"
- name: remove old versions
package:
name: "{{ item }}"
state: absent
with_items:
- lxc-docker
- docker-engine
- docker
- docker.io
- block:
- name: add GPG key
apt_key:
url: "https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg"
state: present
- name: add docker repository | Debian
apt_repository:
repo: "deb [arch=amd64] https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ 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
- block:
- name: Install pip
package:
name: python2-pip
state: present
when: ansible_os_family | lower != "debian"
- name: Install pip | Debian
apt:
name: python-pip
state: present
register: __pip
when: ansible_os_family | lower == "debian"
# https://stackoverflow.com/questions/27341064/how-do-i-fix-importerror-cannot-import-name-incompleteread
- name: Upgrade pip | Debian
command: pip install --upgrade pip
when: __pip is changed
- name: ensure docker-compose is installed
pip:
name: "{{ item }}"
with_items:
- docker-compose
when: docker_compose