bsmeding.docker
Rola Ansible: Docker
Rola Ansible, która instaluje Docker na systemie Linux.
Proszę instalować wersję tylko wtedy, gdy CI jest ZATWIERDZONY!
Rola jest testowana na dystrybucjach Linuxa: Ubuntu, Debian i Rocky (podobnych do RedHat).
Pobrania:
Pochodzące z geerlingguy.docker
Dodatkowe funkcje:
- Usuń PodMan z systemów RedHat
- Dodaj użytkownika i grupę docker:docker
- Dodaj obecnego użytkownika Ansible do grupy docker
- Ustaw
docker_uididocker_guina identyfikatory użytkownika i grupy docker. Można to wykorzystać w innych rolach Ansible ode mnie, które również korzystają z Dockera. To zapewnia płynne instalacje.
Wymagania
Brak.
Zmienne roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (zobacz defaults/main.yml):
# Wydanie może być 'ce' (edycja społecznościowa) lub 'ee' (edycja korporacyjna).
docker_edition: 'ce'
docker_packages:
- "docker-{{ docker_edition }}"
- "docker-{{ docker_edition }}-cli"
- "docker-{{ docker_edition }}-rootless-extras"
docker_packages_state: present
docker_edition powinno być ustawione na ce (edycja społecznościowa) lub ee (edycja korporacyjna).
Można również określić konkretną wersję Dockera do zainstalowania, używając formatu specyficznego dla dystrybucji:
Red Hat/CentOS: docker-{{ docker_edition }}-<WERSJA> (uwaga: musisz dodać to do wszystkich pakietów);
Debian/Ubuntu: docker-{{ docker_edition }}=<WERSJA> (uwaga: musisz dodać to do wszystkich pakietów).
Możesz kontrolować, czy pakiet ma być zainstalowany, usunięty, czy w najnowszej wersji, ustawiając docker_packages_state na present, absent lub latest. Pamiętaj, że demon Dockera zostanie automatycznie zrestartowany, jeśli pakiet Dockera zostanie zaktualizowany. Jest to skutek uruchomienia wszystkich powiadomień (uruchamiając dowolne z powiadamianych zadań i wszelkich innych ról do tego momentu).
docker_service_manage: true
docker_service_state: started
docker_service_enabled: true
docker_restart_handler_state: restarted
Zmienne do kontrolowania stanu usługi docker oraz tego, czy ma się uruchamiać przy starcie. Jeśli instalujesz Dockera w kontenerze Docker bez systemd lub sysvinit, powinieneś ustawić docker_service_manage na false.
docker_install_compose_plugin: false
docker_compose_package: docker-compose-plugin
docker_compose_package_state: present
Opcje instalacji wtyczki Docker Compose. Różnią się od poniższych tym, że docker-compose jest instalowane jako wtyczka Dockera (i używane z docker compose), a nie jako osobny plik binarny.
docker_install_compose: true
docker_compose_version: "1.26.0"
docker_compose_arch: "{{ ansible_architecture }}"
docker_compose_path: /usr/local/bin/docker-compose
Opcje instalacji Docker Compose.
docker_add_repo: true
Kontroluje, czy ta rola doda oficjalne repozytorium Dockera. Ustaw na false, jeśli chcesz korzystać z domyślnych pakietów Dockera dla swojego systemu lub zarządzać repozytorium pakietów samodzielnie.
docker_repo_url: https://download.docker.com/linux
Główny adres URL repozytorium Dockera, wspólny dla systemów Debian i RHEL.
docker_apt_release_channel: stable
docker_apt_arch: "{{ 'arm64' if ansible_architecture == 'aarch64' else 'amd64' }}"
docker_apt_repository: "deb [arch={{ docker_apt_arch }}] {{ docker_repo_url }}/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} {{ docker_apt_release_channel }}"
docker_apt_ignore_key_error: True
docker_apt_gpg_key: "{{ docker_repo_url }}/{{ ansible_distribution | lower }}/gpg"
docker_apt_filename: "docker"
(Używane tylko dla Debiana/Ubuntu). Możesz przełączyć kanał na nightly, jeśli chcesz korzystać z wersji nocnej.
Możesz zmienić docker_apt_gpg_key na inny adres URL, jeśli jesteś za zaporą ogniową lub korzystasz z zaufanego lustra.
Zwykle zmienia się to w połączeniu z docker_apt_repository. docker_apt_filename kontroluje nazwę pliku listy źródeł utworzonego w sources.list.d. Jeśli aktualizujesz z starszej (<7.0.0) wersji tej roli, powinieneś zmienić to na nazwę istniejącego pliku (np. download_docker_com_linux_debian na Debianie), aby uniknąć konfliktujących list.
docker_yum_repo_url: "{{ docker_repo_url }}/{{ (ansible_distribution == 'Fedora') | ternary('fedora','centos') }}/docker-{{ docker_edition }}.repo"
docker_yum_repo_enable_nightly: '0'
docker_yum_repo_enable_test: '0'
docker_yum_gpg_key: "{{ docker_repo_url }}/centos/gpg"
(Używane tylko dla RedHat/CentOS). Możesz włączyć repozytorium Nightly lub Test, ustawiając odpowiednie zmienne na 1.
Możesz zmienić docker_yum_gpg_key na inny adres URL, jeśli jesteś za zaporą ogniową lub korzystasz z zaufanego lustra.
Zwykle zmienia się to w połączeniu z docker_yum_repository.
docker_users:
- user1
- user2
Lista użytkowników systemowych, którzy mają być dodani do grupy docker (aby mogli korzystać z Dockera na serwerze). Aktualny użytkownik Ansible zostanie również dodany.
docker_daemon_options:
storage-driver: "devicemapper"
log-opts:
max-size: "100m"
Własne opcje dockerd można skonfigurować za pomocą tego słownika reprezentującego plik json /etc/docker/daemon.json.
Informacje o autorze
Ta rola została stworzona w 2017 roku przez Jeffa Geerlinga, autora Ansible for DevOps.
Zmieniona z dodatkowymi ustawieniami przez mnie (Bart Smeding), aby zintegrować ją z moimi innymi rolami aplikacji kontenerowych Ansible.
INFO\
Jeśli otrzymasz błąd "Error connecting: Error while fetching server API version: Not supported URL scheme http+docker"}, proszę zaktualizuj kolekcje Ansible:
(lub ustaw bibliotekę requests python na < 2.32.0)
- name: community.general
- name: community.docker
Docker for Linux, Forked from geerlingguy.docker.
ansible-galaxy install bsmeding.docker