better installation method

master
paulfantom 7 years ago
parent 53421a3079
commit 3764144045

@ -0,0 +1,39 @@
---
- name: ensure needed directories are present
file:
path: "{{ item }}"
state: directory
with_items:
- /etc/docker
- /etc/systemd/system
- name: ensure daemon config file is present
template:
content: |
{{ docker_json | to_nice_json(indent=2) }}
dest: /etc/docker/daemon.json
notify: restart docker
- name: create directory for proxy file
file:
path: /etc/systemd/system/docker.service.d
state: directory
when: docker_proxy
- name: create http-proxy.conf
template:
content: |
# {{ ansible_managed }}
[Service]
Environment="HTTP_PROXY={{ docker_http_proxy }}" "HTTPS_PROXY={{ docker_https_proxy }}" "NO_PROXY={{ docker_no_proxy }}"
dest: /etc/systemd/system/docker.service.d/http-proxy.conf
notify: restart docker
when: docker_proxy
- name: ensure unit file is present & up to date
template:
src: docker.j2.service
dest: /etc/systemd/system/docker.service
notify: restart docker

@ -1,17 +1,36 @@
---
- name: Compose md5 checksum
set_fact:
__docker_setup_script_checksum: "md5:{{ docker_setup_script_md5_sum }}"
when: docker_setup_script_md5_sum != ""
- name: Install system dependencies
package:
name: "{{ item }}"
state: present
register: _dependencies_install
retries: 2
until: _dependencies_install | success
with_items: "{{ docker_dependencies }}"
- name: Remove old versions
package:
name: "{{ item }}"
state: absent
with_items:
- lxc-docker
- docker-engine
- name: Install docker
package:
name: "{{ docker_package | default('docker-ce') }}"
state: present
update_cache: yes
register: __ret
retries: 10
until: __ret is succeeded
notify:
- restart docker
- name: ensure docker-py module is installed
pip:
name: docker-py
version: 1.9.0
when: dockerpy
- name: Download docker setup script for desired version
get_url:
url: "{{ docker_setup_script_url }}"
dest: "/tmp/docker-setup.sh"
checksum: "{{ __docker_setup_script_checksum|default(omit) }}"
mode: 0755
- name: Execute docker setup script
shell: "/tmp/docker-setup.sh"
tags:
- skip_ansible_lint

@ -7,65 +7,9 @@
- include: preflight.yml
- name: ensure docker dependencies are installed
package:
name: "{{ item }}"
state: present
with_items: "{{ docker_dependencies }}"
- include: install.yml
- name: check if docker is installed
command: which dockerd
register: which_dockerd
changed_when: False
ignore_errors: yes
- include: "install.yml"
when: docker_upgrade or (which_dockerd | failed)
- name: ensure config folder is present
file:
path: /etc/docker
state: directory
- name: ensure docker-py module is installed
pip:
name: docker-py
version: 1.9.0
when: dockerpy
- name: create directory for proxy file
file:
path: /etc/systemd/system/docker.service.d
state: directory
when: docker_proxy
- name: create http-proxy.conf
template:
src: http-proxy.j2.conf
dest: /etc/systemd/system/docker.service.d/http-proxy.conf
notify:
- reload unit
- restart docker
when: docker_proxy
- name: ensure daemon config file is present
template:
src: daemon.j2.json
dest: /etc/docker/daemon.json
notify:
- restart docker
- name: ensure unit file folder is present
file:
path: /etc/systemd/system
state: directory
- name: ensure unit file is present & up to date
template:
src: docker.j2.service
dest: /etc/systemd/system/docker.service
notify:
- restart docker
- include: configure.yml
- name: ensure starts on system boot
systemd:

@ -1 +0,0 @@
{{ docker_json | to_nice_json(indent=2) }}

@ -1,2 +0,0 @@
[Service]
Environment="HTTP_PROXY={{ docker_http_proxy }}" "HTTPS_PROXY={{ docker_https_proxy }}" "NO_PROXY={{ docker_no_proxy }}"

@ -1,3 +1,5 @@
docker_dependencies:
- apt-transport-https
- ca-certificates
- software-properties-common
- python-pip

@ -1,3 +1,6 @@
docker_dependencies:
- ca-certificates
- yum-utils
- epel-release
- e2fsprogs
- python2-pip

Loading…
Cancel
Save