darkwizard242.docker

Ansible Rola: docker

Rola do instalacji (domyślnie) pakietu docker lub odinstalowania (jeśli podano jako zmienna) na systemach Ubuntu, Debian i CentOS.

Wymagania

Brak.

Zmienne Roli

Dostępne zmienne wymienione są poniżej (znajdują się w defaults/main.yml):

Lista Zmiennych:

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

Tabela Zmiennych:

Zmienna Opis
docker_architecture_map Zmienna dla typów architektury systemu.
docker_apps Nazwy wymaganych pakietów aplikacji docker, np. docker-ce, docker-ce-cli, containerd.io
docker_apps_desired_state Stan pakietów docker_apps (np. docker-ce, docker-ce-cli, containerd.io). Czy zainstalować, zweryfikować dostępność czy odinstalować.
docker_service_name Domyślna nazwa usługi dla Docker.
docker_service_desired_state Pożądany stan dla usługi Docker.
docker_service_desired_boot_enabled Pożądany stan włączenia/wyłączenia dla usługi Docker.
docker_group Nazwa grupy, do której należy właściciel dockera. Użytkownik używający aplikacji docker musi być członkiem grupy docker.
docker_group_desired_state present oznacza utworzenie grupy, jeśli nie istnieje. Alternatywa to absent.
docker_user Nazwa użytkownika, który będzie właścicielem dockera.
docker_user_home Katalog domowy dla użytkownika dockera.
docker_user_shell Powłoka dla docker_user.
docker_user_desired_state present oznacza utworzenie użytkownika, jeśli nie istnieje. Alternatywa to absent.
docker_nonroot_users Lista użytkowników do dodania do grupy docker.
docker_add_nonroot_users Zmienna typu boolean. Wartości mogą być true lub false. Ustawienie na true spowoduje dodanie użytkowników z docker_nonroot_users do grupy docker. Gdy ustawione na false, zadanie dodające użytkownika do grupy docker zostanie pominięte. Domyślnie false.
docker_repo_gpg_key Klucz GPG dla repozytorium dockera.
docker_centos_pre_reqs Docker zaleca zainstalowanie obu tych pakietów na systemie hosta EL/CentOS, dlatego są one uważane za wymagania wstępne.
docker_centos_pre_reqs_desired_state Pożądany stan dla aplikacji wymaganych wstępnie w systemach EL/CentOS.
docker_repo_centos Adres URL repozytorium dla Dockera w systemach opartych na EL/CentOS.
docker_repo_centos_name Nazwa repozytorium dla Dockera w systemach opartych na EL/CentOS.
docker_repo_centos_description Opis, który zostanie dodany do pliku repozytoriów EL/CentOS dla Dockera.
docker_repo_centos_gpgcheck Zmienna typu boolean, czy wykonać weryfikację GPG dla Dockera na systemach EL/CentOS.
docker_repo_centos_enabled Zmienna typu boolean, żeby włączyć repozytorium Dockera na systemach EL/CentOS.
docker_repo_centos_filename Nazwa pliku repozytorium, który zostanie zapisany w /yum/sources.list.d/docker-ce.repo w systemach EL/CentOS.
docker_repo_centos_desired_state present oznacza utworzenie pliku repozytorium, jeśli nie istnieje w systemach EL/CentOS. Alternatywa to absent (niezalecane, ponieważ uniemożliwi zainstalowanie pakietów docker).
docker_debian_pre_reqs_desired_state Pożądany stan dla aplikacji wymaganych wstępnie w systemach rodziny Debian.
docker_repo_debian Adres URL repozytorium Dockera dla systemów Debian. Używa faktów takich jak ansible_architecture.
docker_repo_debian_filename Nazwa pliku repozytorium, który zostanie zapisany w /etc/apt/sources.list.d/ w systemach debianowych.
docker_repo_debian_desired_state present oznacza utworzenie pliku repozytorium, jeśli nie istnieje w systemach Debian. Alternatywa to absent (niezalecane, ponieważ uniemożliwi zainstalowanie pakietów docker).

Zależności

Brak

Przykładowy Playbook

Dla domyślnego zachowania roli (tj. instalacji pakietu docker) w playbookach ansible.

- hosts: servers
  roles:
    - darkwizard242.docker

Aby dostosować zachowanie roli (tj. dodanie listy użytkowników do dodania do grupy docker - przykład pokazuje dodanie ubuntu i darkwizard do grupy docker) w playbookach ansible.

- hosts: servers
  roles:
    - darkwizard242.docker
  vars:
    docker_add_nonroot_users: true
    docker_nonroot_users:
      - darkwizard242
      - ubuntu

Aby dostosować zachowanie roli (tj. pominięcie zadania dodającego listę użytkowników do grupy docker) w playbookach ansible.

- hosts: servers
  roles:
    - darkwizard242.docker
  vars:
    docker_add_nonroot_users: false

Aby dostosować zachowanie roli (tj. odinstalowanie pakietów docker-ce, docker-ce-cli, containerd.io) w playbookach ansible.

- hosts: servers
  roles:
    - darkwizard242.docker
  vars:
    docker_apps_desired_state: absent

Licencja

MIT

Informacje o autorze

Ta rola została stworzona przez Ali Muhammad.

O projekcie

Docker-ce stable version installation/uninstallation.

Zainstaluj
ansible-galaxy install darkwizard242.docker
Licencja
mit
Pobrania
4.9k
Właściciel
Senior DevOps/CloudOps Engineer. Dedicated to Automating everything I come across. Love to work on and learn new technologies/tools everyday!