!fix(docker): update docker role
* update package names * remove dist install option * fix handlers for testing the setup
This commit is contained in:
5
roles/docker/README.md
Normal file
5
roles/docker/README.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# docker role
|
||||
|
||||
this role will simply install the docker engine (community edition) from the official docker repositories.
|
||||
|
||||
source: https://docs.docker.com/engine/install/debian/#install-using-the-repository
|
||||
@@ -1,2 +0,0 @@
|
||||
---
|
||||
docker_use_dist_repo: false
|
||||
@@ -1,17 +1,18 @@
|
||||
---
|
||||
- name: test docker setup
|
||||
block:
|
||||
- name: run hello-world container
|
||||
become: true
|
||||
register: docker_test
|
||||
community.docker.docker_container:
|
||||
state: started
|
||||
name: hello-world
|
||||
image: hello-world
|
||||
register: docker_test
|
||||
when: docker_install is changed
|
||||
|
||||
- name: remove test container
|
||||
- name: remove hello-world container
|
||||
become: true
|
||||
when: docker_test is changed
|
||||
community.docker.docker_container:
|
||||
state: absent
|
||||
name: hello-world
|
||||
image: hello-world
|
||||
when: docker_test is changed
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
---
|
||||
- name: install required packages
|
||||
become: true
|
||||
ansible.builtin.package:
|
||||
state: present
|
||||
name:
|
||||
- docker.io
|
||||
- curl
|
||||
- ca-certificates
|
||||
- gnupg
|
||||
|
||||
- name: install docker compose plugin (standalone)
|
||||
become: true
|
||||
ansible.builtin.get_url:
|
||||
url: https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64
|
||||
dest: /usr/local/bin/docker-compose
|
||||
mode: '0555'
|
||||
owner: root
|
||||
group: root
|
||||
@@ -1,47 +0,0 @@
|
||||
---
|
||||
- name: remove conflicting packages
|
||||
become: true
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- docker.io
|
||||
- docker-doc
|
||||
- docker-compose
|
||||
- podman-docker
|
||||
- containerd
|
||||
state: absent
|
||||
|
||||
- name: install prerequisites
|
||||
become: true
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- ca-certificates
|
||||
- curl
|
||||
- gnupg
|
||||
state: present
|
||||
|
||||
- name: add docker gpg key
|
||||
become: true
|
||||
ansible.builtin.apt_key:
|
||||
url: https://download.docker.com/linux/debian/gpg
|
||||
|
||||
- name: determine architecture
|
||||
changed_when: false
|
||||
register: docker_arch
|
||||
ansible.builtin.command:
|
||||
cmd: dpkg --print-architecture
|
||||
|
||||
- name: add docker repo
|
||||
become: true
|
||||
ansible.builtin.apt_repository:
|
||||
state: present
|
||||
filename: docker
|
||||
repo: "deb [arch={{ docker_arch.stdout }}] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable"
|
||||
update_cache: true
|
||||
|
||||
- name: install docker and dependencies
|
||||
become: true
|
||||
ansible.builtin.package:
|
||||
state: present
|
||||
name:
|
||||
- docker
|
||||
- docker-compose-plugin
|
||||
@@ -1,4 +1,66 @@
|
||||
---
|
||||
- name: include proper install tasks
|
||||
ansible.builtin.import_tasks:
|
||||
file: "{{ 'dist' if docker_use_dist_repo else 'docker' }}.yml"
|
||||
- name: remove conflicting packages
|
||||
become: true
|
||||
ansible.builtin.apt:
|
||||
state: absent
|
||||
name:
|
||||
- docker.io
|
||||
- docker-doc
|
||||
- docker-compose
|
||||
- podman-docker
|
||||
- containerd
|
||||
|
||||
- name: install prerequisites
|
||||
become: true
|
||||
ansible.builtin.apt:
|
||||
state: present
|
||||
name:
|
||||
- ca-certificates
|
||||
- curl
|
||||
- gnupg
|
||||
|
||||
- name: ensure apt keyring directory exists
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
state: directory
|
||||
path: /etc/apt/keyrings
|
||||
mode: '0755'
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
- name: download docker gpg key
|
||||
become: true
|
||||
ansible.builtin.get_url:
|
||||
url: https://download.docker.com/linux/debian/gpg
|
||||
dest: /etc/apt/keyrings/docker.asc
|
||||
mode: '0644'
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
- name: determine architecture
|
||||
changed_when: false
|
||||
register: docker_arch
|
||||
ansible.builtin.command:
|
||||
cmd: dpkg --print-architecture
|
||||
|
||||
- name: add docker repo
|
||||
become: true
|
||||
ansible.builtin.apt_repository:
|
||||
state: present
|
||||
filename: docker
|
||||
update_cache: true
|
||||
repo: >
|
||||
deb [arch={{ docker_arch.stdout }} signed-by=/etc/apt/keyrings/docker.asc]
|
||||
https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable
|
||||
|
||||
- name: install docker + compose plugin and dependencies
|
||||
become: true
|
||||
notify: test docker setup
|
||||
ansible.builtin.package:
|
||||
state: present
|
||||
name:
|
||||
- docker-ce
|
||||
- docker-ce-cli
|
||||
- containerd.io
|
||||
- docker-buildx-plugin
|
||||
- docker-compose-plugin
|
||||
|
||||
Reference in New Issue
Block a user