darkwizard242.docker
Ansible Role: Docker
This role is designed to install the Docker package by default or uninstall it if specified on Ubuntu, Debian, and CentOS systems.
Requirements
No specific requirements.
Role Variables
The available variables are outlined below (found in defaults/main.yml
):
Variables List:
docker_architecture_map:
amd64: amd64
x86_64: amd64
armv6l: armhfv6
armv7l: armhfv6
aarch64: arm64
32-bit: "386"
64-bit: amd64
docker_apps:
- docker-ce
- docker-ce-cli
- containerd.io
docker_apps_desired_state: present
docker_service_name: docker
docker_service_desired_state: restarted
docker_service_desired_boot_enabled: yes
docker_group: docker
docker_group_desired_state: present
docker_user: docker
docker_user_home: "/home/{{ docker_user }}"
docker_user_shell: /bin/bash
docker_user_desired_state: present
docker_repo_gpg_key: https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg
docker_nonroot_users:
- darkwizard242
- ubuntu
docker_add_nonroot_users: false
docker_centos_pre_reqs:
- device-mapper-persistent-data
- lvm2
docker_centos_pre_reqs_desired_state: present
docker_repo_centos: https://download.docker.com/linux/centos/7/$basearch/stable
docker_repo_centos_gpg_key: https://download.docker.com/linux/centos/gpg
docker_repo_centos_name: docker-ce-stable
docker_repo_centos_description: Docker CE Stable - $basearch
docker_repo_centos_gpgcheck: yes
docker_repo_centos_enabled: yes
docker_repo_centos_filename: docker-ce
docker_repo_centos_desired_state: present
docker_debian_pre_reqs:
- apt-transport-https
- ca-certificates
- curl
- gnupg
- lsb-release
docker_debian_pre_reqs_desired_state: present
docker_repo_debian: "deb [arch={{ ansible_architecture }}] https://download.docker.com/linux/debian {{ ansible_lsb['codename'] }} stable"
docker_repo_debian_filename: docker-ce
docker_repo_debian_desired_state: present
Variables Table:
Variable | Description |
---|---|
docker_architecture_map | Maps different system architecture types. |
docker_apps | List of Docker application packages to be installed, e.g., docker-ce, docker-ce-cli, containerd.io . |
docker_apps_desired_state | State of the Docker packages (e.g., to install, check if available, or uninstall). |
docker_service_name | Default name for the Docker service. |
docker_service_desired_state | Desired state for the Docker service. |
docker_service_desired_boot_enabled | Whether the Docker service should be enabled on boot. |
docker_group | The group name for Docker users. Users need to be part of this group to use Docker. |
docker_group_desired_state | Determines if the Docker group should be created. |
docker_user | Name of the user that owns Docker. |
docker_user_home | Home directory for the Docker user. |
docker_user_shell | Shell for the Docker user. |
docker_user_desired_state | Indicates if the user should be created. |
docker_nonroot_users | List of non-root users to add to the Docker group. |
docker_add_nonroot_users | Boolean to control whether to add non-root users to the Docker group. |
docker_repo_gpg_key | GPG key for Docker repository. |
docker_centos_pre_reqs | Pre-requisites for Docker on CentOS systems. |
docker_centos_pre_reqs_desired_state | Desired state for pre-requisite applications on CentOS systems. |
docker_repo_centos | CentOS Docker repository URL. |
docker_repo_centos_name | Name of the Docker repository on CentOS. |
docker_repo_centos_description | Description that appears in the repository file for Docker on CentOS. |
docker_repo_centos_gpgcheck | Should a GPG check be performed on the repository? |
docker_repo_centos_enabled | Should the Docker repository be enabled on CentOS? |
docker_repo_centos_filename | Name of the repository file for Docker on CentOS. |
docker_repo_centos_desired_state | Indicates if the repository file should be created. |
docker_debian_pre_reqs_desired_state | Desired state for pre-requisite applications on Debian systems. |
docker_repo_debian | Docker repository URL for Debian systems. |
docker_repo_debian_filename | Name of the repository file for Docker on Debian. |
docker_repo_debian_desired_state | Indicates if the repository file should be created for Docker on Debian. |
Dependencies
None.
Example Playbook
Using the role for default behavior (installing Docker) in Ansible playbooks.
- hosts: servers
roles:
- darkwizard242.docker
Customizing the role to add users to the Docker group.
- hosts: servers
roles:
- darkwizard242.docker
vars:
docker_add_nonroot_users: true
docker_nonroot_users:
- darkwizard242
- ubuntu
Customizing to skip adding users to the Docker group.
- hosts: servers
roles:
- darkwizard242.docker
vars:
docker_add_nonroot_users: false
Customizing to uninstall Docker packages.
- hosts: servers
roles:
- darkwizard242.docker
vars:
docker_apps_desired_state: absent
License
Author Information
This role was created by Ali Muhammad.
Informazioni sul progetto
Docker-ce stable version installation/uninstallation.
Installa
ansible-galaxy install darkwizard242.docker
Licenza
mit
Download
4.9k
Proprietario
Senior DevOps/CloudOps Engineer.
Dedicated to Automating everything I come across.
Love to work on and learn new technologies/tools everyday!