--- - name: install pip and docker on ubuntu apt: name: "{{ item }}" state: present update_cache: yes with_items: - python-pip - docker - docker.io when: ansible_distribution == 'Ubuntu' tags: with_pkg - name: install pip and docker on debian apt: name: "{{ item }}" state: present update_cache: yes with_items: - python-pip - docker-engine when: ansible_distribution == 'Debian' tags: with_pkg # install epel for pip - name: install epel on redhat yum: name: "{{ item }}" state: present with_items: - epel-release when: - ansible_os_family == 'RedHat' - ansible_pkg_mgr == "yum" tags: with_pkg failed_when: false - name: install pip on redhat yum: name: "{{ item }}" state: present with_items: - python-pip when: - ansible_os_family == 'RedHat' - ansible_pkg_mgr == "yum" tags: with_pkg - name: install docker-engine on redhat yum: name: "{{ item }}" state: present with_items: - docker-engine when: - ansible_os_family == 'RedHat' - ansible_pkg_mgr == "yum" tags: with_pkg failed_when: false # for CentOS - name: install docker on redhat yum: name: "{{ item }}" state: present with_items: - docker when: - ansible_os_family == 'RedHat' - ansible_pkg_mgr == "yum" tags: with_pkg failed_when: false # docker package could be docker-enginer or docker - name: install pip and docker on redhat dnf: name: "{{ item }}" state: present with_items: - python-pip - docker-engine when: - ansible_os_family == 'RedHat' - ansible_pkg_mgr == "dnf" tags: with_pkg - name: start docker service service: name: docker state: started enabled: yes tags: with_pkg # NOTE (jimcurtis): need at least version 1.9.0 of six or we get: # re:NameError: global name 'DEFAULT_DOCKER_API_VERSION' is not defined - name: install six pip: name: six version: 1.9.0 tags: with_pkg # NOTE (leseb): for version 1.1.0 because https://github.com/ansible/ansible-modules-core/issues/1227 - name: install docker-py pip: name: docker-py version: 1.1.0 tags: with_pkg when: ansible_version['full'] | version_compare('2.1.0.0', '<') - name: install docker-py pip: name: docker-py state: latest tags: with_pkg when: ansible_version['full'] | version_compare('2.1.0.0', '>=')