geerlingguy.docker
Rola Ansible: Docker
Rola Ansible, która instaluje Docker na systemach Linux.
Wymagania
Brak.
Zmienne roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (patrz defaults/main.yml):
# Wydanie może być jednym z: 'ce' (Wydanie Społecznościowe) lub 'ee' (Wydanie Enterprise).
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 (Wydanie Społecznościowe) lub ee (Wydanie Enterprise). Możesz 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 jest zainstalowany, usunięty, czy na najnowszej wersji, ustawiając docker_packages_state na present, absent lub latest, odpowiednio. Zauważ, że demon Dockera zostanie automatycznie zrestartowany, jeśli pakiet Dockera zostanie zaktualizowany.
docker_obsolete_packages:
  - docker
  - docker.io
  - docker-engine
  - podman-docker
  - containerd
  - runc
Lista pakietów do odinstalowania przed uruchomieniem tej roli. Zobacz instrukcje instalacji Dockera po aktualną listę starych pakietów, które należy usunąć.
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 wewnątrz kontenera Docker bez systemd lub sysvinit, powinieneś ustawić docker_service_manage na false.
docker_install_compose_plugin: true
docker_compose_package: docker-compose-plugin
docker_compose_package_state: present
Opcje instalacji wtyczki Docker Compose. Te różnią się od poniższych tym, że docker-compose jest zainstalowane jako wtyczka dockera (i używane z docker compose) zamiast jako samodzielny plik binarny.
docker_install_compose: false
docker_compose_version: "2.11.1"
docker_compose_arch: "{{ ansible_architecture }}"
docker_compose_url: "https://github.com/docker/compose/releases/download/{{ docker_compose_version }}/docker-compose-linux-{{ docker_compose_arch }}"
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 używać 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 Debian/Ubuntu.) Możesz zmienić kanał na nightly, jeśli chcesz używać wydania Nightly.
Możesz zmienić docker_apt_gpg_key na inny adres URL, jeśli jesteś za zaporą lub chcesz zapewnić zaufany mirrora.
Zazwyczaj w połączeniu z zmianą docker_apt_repository. docker_apt_filename kontroluje nazwę pliku źródłowego utworzonego w sources.list.d. Jeśli aktualizujesz z starszej wersji (<7.0.0) tej roli, powinieneś zmienić to na nazwę istniejącego pliku (np. download_docker_com_linux_debian na Debianie), aby uniknąć konfliktów w listach.
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ą lub chcesz zapewnić zaufany mirrora.
Zazwyczaj w połączeniu z zmianą docker_yum_repository.
docker_users:
  - user1
  - user2
Lista użytkowników systemowych, którzy mają zostać dodani do grupy docker (aby mogli używać Dockera na serwerze).
docker_daemon_options:
  storage-driver: "devicemapper"
  log-opts:
    max-size: "100m"
Można skonfigurować niestandardowe opcje dockerd za pomocą tego słownika, reprezentującego plik json /etc/docker/daemon.json.
Użycie z Ansible (i biblioteką docker w Pythonie)
Wielu użytkowników tej roli chce również używać Ansible do budowania obrazów Docker i zarządzania kontenerami Docker na serwerze, na którym zainstalowano Dockera. W takim przypadku łatwo możesz dodać bibliotekę docker w Pythonie, korzystając z roli geerlingguy.pip:
- hosts: all
  vars:
    pip_install_packages:
      - name: docker
  roles:
    - geerlingguy.pip
    - geerlingguy.docker
Zależności
Brak.
Przykładowy playbook
- hosts: all
  roles:
    - geerlingguy.docker
Licencja
MIT / BSD
Sponsorzy
- We Manage: Pomagamy start-upom i rozwijającym się firmom skalować ich infrastrukturę w sposób zrównoważony.
 
Powyżsi sponsorzy wspierają Jeffa Geerlinga na GitHub Sponsors. Możesz również sponsorować pracę Jeffa, aby pomóc mu w dalszym ulepszaniu tych projektów open source Ansible!
Informacje o autorach
Ta rola została stworzona w 2017 roku przez Jeffa Geerlinga, autora Ansible for DevOps.
ansible-galaxy install geerlingguy.docker