--- # main tasks to install docker - name: install packages apt: state: installed package: "{{ item }}" update_cache: yes with_items: - "htop" - "wget" - "apt-transport-https" - "ca-certificates" - "software-properties-common" - "curl" - "glusterfs-client" - xfsprogs - attr - virtualbox-guest-additions-iso - name: remove deprecated packages apt: state: absent package: "{{ item }}" with_items: - "docker" - "docker-engine" - "docker.io" - name: remove obsolete apt repro apt_repository: repo: deb https://download.docker.com/linux/ubuntu ubuntu-xenial Release state: absent - name: install repo keys shell: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - - name: install apt repo apt_repository: repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable state: present - name: install prerequisits shell: apt-get -y install linux-image-extra-$(uname -r) linux-image-extra-virtual - name: create docker group group: state=present name=docker gid=999 system=yes - name: add users to docker group user: name={{ item }} groups=docker append=yes with_items: "{{ dockerhost.users }}" - name: install via apt apt: state: latest update_cache: true package: "{{ item }}" with_items: - docker-ce # - virtualbox-guest-dkms - name: copy docker config file copy: src: daemon.json dest: /etc/docker/daemon.json notify: - restart docker ## install docker-compose - name: install docker-compose from git repo shell: | curl -L https://github.com/docker/compose/releases/download/{{compose_version}}/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ## expose the docker daemon on tcp - name: expose docker daemon file: state: directory path: /etc/systemd/system/docker.service.d - name: expose docker daemon copy: src: docker.service.host.conf dest: /etc/systemd/system/docker.service.d/host.conf notify: - restart docker