docker
Ansible Роль: docker
Роль для установки (по умолчанию) пакета docker или его удаления (если задана переменная) на системах Ubuntu, Debian и CentOS.
Требования
Нет.
Переменные роли
Доступные переменные перечислены ниже (находятся в defaults/main.yml
):
Список переменных:
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
Таблица переменных:
Переменная | Описание |
---|---|
docker_architecture_map | Переменная для типов архитектуры системы. |
docker_apps | Названия пакетов приложений docker, которые необходимо установить: docker-ce, docker-ce-cli, containerd.io |
docker_apps_desired_state | Состояние пакетов docker_apps (например, docker-ce, docker-ce-cli, containerd.io ). Устанавливать, проверять наличие или удалять (значения модуля ansible apt: present , latest , или absent ) |
docker_service_name | Имя службы по умолчанию для Docker. |
docker_service_desired_state | Желаемое состояние службы Docker. |
docker_service_desired_boot_enabled | Желаемое состояние включения/выключения службы Docker. |
docker_group | Имя группы, к которой будет принадлежать владелец docker. Любому пользователю, которому нужно использовать приложение docker, необходимо быть членом группы docker . |
docker_group_desired_state | present указывает на создание группы, если она не существует. Альтернатива — absent . |
docker_user | Имя пользователя, которому будет принадлежать docker. |
docker_user_home | Домашний каталог для пользователя docker. |
docker_user_shell | Шелл для docker_user . |
docker_user_desired_state | present указывает на создание пользователя, если он не существует. Альтернатива — absent . |
docker_nonroot_users | Список пользователей для добавления в группу docker |
docker_add_nonroot_users | Булевая переменная. Значения могут быть true или false . Установка в true выполнит задачу, которая добавит дополнительно указанных пользователей из переменной docker_nonroot_users в группу docker . Если установлено в false , задача по добавлению пользователя в группу docker будет пропущена. Значение по умолчанию — false . |
docker_repo_gpg_key | GPG ключ репозитория для docker |
docker_centos_pre_reqs | Docker рекомендует установить оба этих пакета на хост-системе EL/CentOS для docker, поэтому они считаются предварительными требованиями. |
docker_centos_pre_reqs_desired_state | Желаемое состояние для предварительных приложений Docker на системах EL/CentOS. |
docker_repo_centos | URL репозитория для Docker на системах EL/CentOS. |
docker_repo_centos_name | Имя репозитория для Docker на системах EL/CentOS. |
docker_repo_centos_description | Описание, которое добавляется в файл репозитория EL/CentOS для Docker. |
docker_repo_centos_gpgcheck | Булевая переменная для проверки gpg пакета Docker на EL/CentOS. |
docker_repo_centos_enabled | Булевая переменная для включения репозитория Docker на EL/CentOS. |
docker_repo_centos_filename | Имя файла репозитория, который будет храниться в /yum/sources.list.d/docker-ce.repo на системах EL/CentOS. |
docker_repo_centos_desired_state | present указывает на создание файла репозитория, если он не существует на системах EL/CentOS. Альтернатива — absent (не рекомендуется, так как это предотвратит установку пакетов docker). |
docker_debian_pre_reqs_desired_state | Желаемое состояние для предварительных приложений Docker на системах семейства Debian. |
docker_repo_debian | URL репозитория Docker для систем Debian. Используются факты, такие как ansible_architecture . |
docker_repo_debian_filename | Имя файла репозитория, который будет храниться в /etc/apt/sources.list.d/ на системах Debian. |
docker_repo_debian_desired_state | present указывает на создание файла репозитория, если он не существует на системах Debian. Альтернатива — absent (не рекомендуется, так как это предотвратит установку пакетов docker). |
Зависимости
Нет.
Пример Playbook
Для стандартного поведения роли (например, установка пакета docker) в ansible playbooks.
- hosts: servers
roles:
- darkwizard242.docker
Для настройки поведения роли (например, добавление списка пользователей в группу docker - приведённый ниже пример добавляет ubuntu
и darkwizard
в группу docker
) в ansible playbooks.
- hosts: servers
roles:
- darkwizard242.docker
vars:
docker_add_nonroot_users: true
docker_nonroot_users:
- darkwizard242
- ubuntu
Для настройки поведения роли (например, пропуск задачи, добавляющей список пользователей в группу docker
) в ansible playbooks.
- hosts: servers
roles:
- darkwizard242.docker
vars:
docker_add_nonroot_users: false
Для настройки поведения роли (например, удаление пакетов docker-ce, docker-ce-cli, containerd.io) в ansible playbooks.
- hosts: servers
roles:
- darkwizard242.docker
vars:
docker_apps_desired_state: absent
Лицензия
Информация об авторе
Эта роль была создана Али Мухаммадом.
Docker-ce stable version installation/uninstallation.
ansible-galaxy install darkwizard242/ansible-role-docker