--- # main tasks to install docker - name: install packages apt: state: installed package: "{{ item }}" update_cache: yes cache_valid_time: 3600 with_items: - "wget" - "apt-transport-https" - "ca-certificates" #- name: run docker install script # command: "wget -qO- https://get.docker.com/ | sh" # args: # creates: /usr/bin/docker #- stat: # path: /usr/bin/docker # register: docker # #- debug: var=docker #- name: download install script # get_url: # url: https://get.docker.com/ # dest: /tmp/docker_install.sh # mode: 500 # when: docker.stat.exists == false # #- name: run install script # script: /tmp/docker_install.sh # args: # creates: /usr/bin/docker # when: docker.stat.exists == false - 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: update_cache: true package: "{{ item }}" with_items: - docker-engine - docker-compose - virtualbox-guest-dkms - name: copy docker config file copy: src: daemon.json dest: /etc/docker/daemon.json - name: create mount points for shares file: state: directory dest: /mnt/dkhost # vbox shares are mounted in home folders of users with vboxsf group #- name: add root to vboxsf group # user: name={{ item }} groups=vboxsf append=yes # with_items: "{{ dockerhost.users }}" - name: setup host shares in fstab lineinfile: state: present dest: /etc/fstab insertafter: EOF regexp: '^#?dkhost ' line: 'dkhost /mnt/dkhost vboxsf noauto 0 0' - name: mount host shares in rc.local lineinfile: state: present dest: /etc/rc.local insertafter: 'exit 0' regexp: '^#?mount dkhost' line: 'mount dkhost'