Added Docker role
This commit is contained in:
10
roles/docker/tasks/docker-users.yml
Normal file
10
roles/docker/tasks/docker-users.yml
Normal file
@ -0,0 +1,10 @@
|
||||
- name: Ensure docker users are added to the docker group
|
||||
user:
|
||||
name: "{{ item }}"
|
||||
groups: docker
|
||||
append: true
|
||||
with_items: "{{ docker_users }}"
|
||||
notify: restart docker
|
||||
|
||||
- name: Reset ssh connection to apply user changes.
|
||||
meta: reset_connection
|
61
roles/docker/tasks/docker.yml
Normal file
61
roles/docker/tasks/docker.yml
Normal file
@ -0,0 +1,61 @@
|
||||
- name: Install dependencies for Docker
|
||||
apt:
|
||||
name: "{{ docker_dependencies }}"
|
||||
update_cache: true
|
||||
|
||||
- name: Add Docker apt key.
|
||||
get_url:
|
||||
url: "{{ docker_apt_gpg_key }}"
|
||||
dest: /etc/apt/trusted.gpg.d/docker.asc
|
||||
mode: '0644'
|
||||
force: true
|
||||
register: add_repository_key
|
||||
|
||||
- name: Add Docker repository
|
||||
apt_repository:
|
||||
repo: "{{ docker_apt_repository }}"
|
||||
state: present
|
||||
update_cache: true
|
||||
|
||||
- name: Install Docker packages
|
||||
apt:
|
||||
name: "{{ docker_packages }}"
|
||||
|
||||
- name: Ensure /etc/docker/ directory exists
|
||||
file:
|
||||
path: /etc/docker
|
||||
state: directory
|
||||
mode: 0755
|
||||
when: docker_daemon_options.keys() | length > 0
|
||||
|
||||
- name: Configure Docker daemon options
|
||||
copy:
|
||||
content: "{{ docker_daemon_options | to_nice_json }}"
|
||||
dest: /etc/docker/daemon.json
|
||||
mode: 0644
|
||||
when: docker_daemon_options.keys() | length > 0
|
||||
notify: restart docker
|
||||
|
||||
- name: Ensure Docker is started and enabled at boot.
|
||||
service:
|
||||
name: docker
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
- name: Get docker group info using getent.
|
||||
getent:
|
||||
database: group
|
||||
key: docker
|
||||
split: ':'
|
||||
when: docker_users | length > 0
|
||||
|
||||
- name: Check if there are any users to add to the docker group
|
||||
set_fact:
|
||||
add_to_group: true
|
||||
when:
|
||||
- docker_users | length > 0
|
||||
- item not in ansible_facts.getent_group["docker"][2]
|
||||
with_items: "{{ docker_users }}"
|
||||
|
||||
- include_tasks: docker-users.yml
|
||||
when: add_to_group is defined
|
4
roles/docker/tasks/main.yml
Normal file
4
roles/docker/tasks/main.yml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
# tasks file for docker
|
||||
- import_tasks: docker.yml
|
||||
become: true
|
Reference in New Issue
Block a user