darkwizard242.docker

build-test release Ansible Role Maintainability Rating Reliability Rating Security Rating GitHub tag (latest SemVer) GitHub repo size

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

MIT

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!