Просмотр исходного кода

:wrench: add docker setup script

Jeremy Zheng 9 месяцев назад
Родитель
Сommit
5ccad396b9

+ 4 - 0
deploy/k8s.yml

@@ -0,0 +1,4 @@
+- name: Setup docker
+  hosts: all,!localhost
+  roles:
+    - docker

+ 3 - 0
deploy/roles/docker/files/daemon.json

@@ -0,0 +1,3 @@
+{
+  "data-root": "/srv/.docker"
+}

+ 60 - 0
deploy/roles/docker/tasks/main.yml

@@ -0,0 +1,60 @@
+# https://docs.docker.com/engine/install/ubuntu/
+
+- name: Install dependency packages
+  become: true
+  ansible.builtin.apt:
+    pkg:
+      - ca-certificates
+      - curl
+
+- name: Create apt keys folder
+  become: true
+  ansible.builtin.file:
+    path: /etc/apt/keyrings
+    state: directory
+    mode: "0755"
+
+- name: Download docker asc
+  become: true
+  ansible.builtin.get_url:
+    url: https://download.docker.com/linux/ubuntu/gpg
+    dest: /etc/apt/keyrings/docker.asc
+    mode: "0644"
+
+- name: Upload docker.list
+  become: true
+  ansible.builtin.template:
+    src: docker.list.j2
+    dest: /etc/apt/sources.list.d/docker.list
+    mode: "0644"
+
+- name: Update apt cache
+  become: true
+  ansible.builtin.apt:
+    update_cache: true
+    # cache_valid_time: 3600
+
+- name: Install docker packages
+  become: true
+  ansible.builtin.apt:
+    pkg:
+      - docker-ce
+      - docker-ce-cli
+      - containerd.io
+      - docker-buildx-plugin
+      - docker-compose-plugin
+
+- name: Add user to docker group
+  become: true
+  ansible.builtin.user:
+    name: "{{ ansible_user }}"
+    groups:
+      - docker
+    append: true
+
+- name: Change the default Docker storage location
+  become: true
+  ansible.builtin.file:
+    src: daemon.json
+    dest: /etc/docker/daemon.json
+    mode: "0644"

+ 1 - 0
deploy/roles/docker/templates/docker.list.j2

@@ -0,0 +1 @@
+deb [signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu {{ ansible_lsb.codename }} stable

+ 1 - 1
deploy/roles/ubuntu/tasks/main.yml

@@ -6,7 +6,7 @@
 
 - name: Install dependicy packages
   become: true
-  apt:
+  ansible.builtin.apt:
     pkg:
       - apt-transport-https
       - software-properties-common