--- ### installs pip and docker-py to enable using ansible's docker module - name: Install python setup tools yum: name=python-setuptools state=latest when: (ansible_distribution == "CentOS" or ansible_distribution == "RedHat") and ansible_distribution_version == "7" tags: docker - name: Install Pypi easy_install: name=pip when: (ansible_distribution == "CentOS" or ansible_distribution == "RedHat") and ansible_distribution_version == "7" tags: docker - name: Install docker-py pip: name=docker-py when: (ansible_distribution == "CentOS" or ansible_distribution == "RedHat") and ansible_distribution_version == "7" - name: Install Docker yum: name=docker state=latest when: (ansible_distribution == "CentOS" or ansible_distribution == "RedHat") and ansible_distribution_version == "7" tags: docker - name: Create a dir to place the service file override "docker-tcp-override.conf" file: path=/etc/systemd/system/docker.service.d/ state=directory owner=root group=root selevel=s0 seuser=system_u serole=object_r setype=systemd_unit_file_t mode=0755 when: (ansible_distribution == "CentOS" or ansible_distribution == "RedHat") and ansible_distribution_version == "7" - name: Create a systemd service overrride "docker-tcp-override.conf" to force Docker to actually listen to tcp 127.0.0.1:2375 along the unix socket (required for shinyproxy) copy: src=docker-tcp-override.conf dest=/etc/systemd/system/docker.service.d/ owner=root group=root selevel=s0 seuser=system_u serole=object_r setype=systemd_unit_file_t mode=0755 when: (ansible_distribution == "CentOS" or ansible_distribution == "RedHat") and ansible_distribution_version == "7" #### The other way around enabling docker's tcp socket in systemd based distros... Didn't work for me. #- name: Create a systemd socketfile "docker-tcp.socket" to have Docker listen to tcp port 2375 (required for shinyproxy) # copy: src=docker-tcp.socket dest=/etc/systemd/system/ owner=root group=root selevel=s0 seuser=system_u serole=object_r setype=systemd_unit_file_t mode=0755 #- name: Make sure Docker is *not* running before starting the socket service, otherwise things *won't* work # service: name=docker state=stopped enabled=yes # #when: "changed not in socketfile_changed.src" #- name: Make sure docker-tcp.socket is enabled and running # systemd: name=docker-tcp.socket state=restarted enabled=yes daemon_reload=yes #### # - name: Force a docker service (re)start since we don't know whether the service file override has been updated/deployed for the first time (can't register file changes from copy module???) systemd: name=docker state=restarted enabled=yes daemon_reload=yes when: (ansible_distribution == "CentOS" or ansible_distribution == "RedHat") and ansible_distribution_version == "7" # service: name=docker state=started enabled=yes