summaryrefslogtreecommitdiff
path: root/roles/docker/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/docker/tasks/main.yml')
-rw-r--r--roles/docker/tasks/main.yml50
1 files changed, 50 insertions, 0 deletions
diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml
new file mode 100644
index 00000000..2253f1ed
--- /dev/null
+++ b/roles/docker/tasks/main.yml
@@ -0,0 +1,50 @@
+---
+- name: prepare /var/lib/docker as LVM
+ when: docker_lvm is defined
+ block:
+
+ - name: create logical volume
+ lvol:
+ vg: "{{ docker_lvm.vg }}"
+ lv: "{{ docker_lvm.lv }}"
+ size: "{{ docker_lvm.size }}"
+
+ - name: create filesystem
+ filesystem:
+ fstype: "{{ docker_lvm.fs }}"
+ dev: "/dev/mapper/{{ docker_lvm.vg | replace('-', '--') }}-{{ docker_lvm.lv | replace('-', '--') }}"
+
+ - name: mount filesytem
+ mount:
+ src: "/dev/mapper/{{ docker_lvm.vg | replace('-', '--') }}-{{ docker_lvm.lv | replace('-', '--') }}"
+ path: /var/lib/docker
+ fstype: "{{ docker_lvm.fs }}"
+ state: mounted
+
+- name: install apt https transport
+ apt:
+ name: apt-transport-https
+ state: present
+
+- name: add docker apt key
+ apt_key:
+ data: "{{ lookup('file', 'docker-apt-key.asc') }}"
+ state: present
+
+- name: add docker apt repo
+ apt_repository:
+ repo: "deb https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} stable"
+ state: present
+ filename: docker
+
+- name: install docker
+ apt:
+ name: "docker-ce{% if docker_pkg_version is defined %}={{ docker_pkg_version }}{% endif %}"
+ state: present
+ force: yes
+
+- name: disable automatic upgrades for docker package
+ when: docker_pkg_version is defined
+ dpkg_selections:
+ name: docker-ce
+ selection: hold