haxorof.docker_ce

Rola Ansible dla Docker CE (Wydanie Społeczności)

WAŻNE! Nawet jeśli ta rola nie wymienia wsparcia dla niektórych wersji dystrybucji, może nadal działać.

GitHub tag Ansible Role License: MIT Build Status

Ta rola Ansible instaluje i konfiguruje Docker CE (Wydanie Społeczności) na różnych dystrybucjach Linuxa. Celem jest umożliwienie użytkownikowi skoncentrowania się na tym, jak Docker ma być zainstalowany i skonfigurowany, ukrywając różnice między różnymi dystrybucjami.

ansible-galaxy role install haxorof.docker_ce

Cechy

  • Jedna metoda instalacji i konfiguracji Docker CE na obsługiwanych dystrybucjach Linuxa.
  • Wsparcie dla instalacji Docker SDK i Docker Compose.
  • Wsparcie dla instalacji wtyczek Docker.
  • Podjęcie prób odinstalowania Docker CE i związanej z tym konfiguracji.
  • Dostosowania, aby uniknąć błędnych lub nie mniej działających konfiguracji w niektórych wspieranych dystrybucjach.
  • Ułatwienie konfiguracji Docker zgodnie z dokumentacją Center of Internet Security (CIS).

Obsługiwane dystrybucje

Uwaga! Niektóre wersje dystrybucji wymienionych poniżej mają zainstalowane tylko Python 2.7, co oznacza, że są zgodne tylko z wersjami Ansible poniżej 10.0.0 (lub wersjami ansible-core poniżej 2.17). To dlatego, że wsparcie dla Pythona 2.7 zostało zakończone w Ansible 10.0.0 (ansible-core 2.17).

  • AlmaLinux1
  • Amazon Linux1
  • CentOS1
  • CentOS Stream
  • Debian
  • Fedora
  • Linux Mint1 (oparty na Ubuntu).
  • Raspbian (oparty na Debianie)
  • RHEL
  • Rocky Linux1
  • Ubuntu

1 Uwaga: Docker nie wspiera oficjalnie całkowicie ani częściowo Docker CE na tej dystrybucji i niektóre funkcje mogą nie działać.

Mogą istnieć inne dystrybucje, które również mogą współpracować z tą rolą, ale nie są wymienione powyżej. Można wyłączyć sprawdzanie dystrybucji, ustawiając zmienną docker_do_checks na no.

Dziennik zmian

Zobacz dziennik zmian tutaj

Zgodność z Ansible

  • ansible 9.0.0 lub nowszy (ansible-core 2.16 lub nowszy)

Aby ta rola wspierała wiele wersji Ansible, nie jest możliwe uniknięcie wszystkich ostrzeżeń dotyczących deprecji Ansible. Przeczytaj dokumentację Ansible, jeśli chcesz wyłączyć ostrzeżenia o deprecji.

Ta rola próbuje wspierać najnowsze i poprzednie główne wydanie Ansible. Szczegóły dotyczące wspieranych wersji Ansible można znaleźć tutaj

Wymagania dotyczące kolekcji Ansible

Jeśli zainstalowany jest tylko ansible-core, należy również zainstalować te kolekcje, aby rola działała:

  • ansible.posix
  • community.general

Wymagania

Brak dodatkowych wymagań.

Zmienne roli

Zmienne związane z tą rolą są wymienione tutaj

Zależności

Brak.

Przykład playbooka

Poniższe podsekcje pokazują różne przykłady ilustrujące, co wspiera ta rola.

Najprostszy

- hosts: docker
  roles:
    - role: haxorof.docker_ce

Konfiguracja demona Docker do korzystania z proxy

- hosts: docker
  vars:
    docker_daemon_envs:
      HTTP_PROXY: http://localhost:3128/
      NO_PROXY: localhost,127.0.0.1,docker-registry.somecorporation.com
  roles:
    - haxorof.docker_ce

Upewnij się, że Ansible może korzystać z modułów Docker po instalacji

- hosts: test-host
  vars:
    docker_sdk: true
    docker_compose: true
  roles:
    - haxorof.docker_ce
  post_tasks:
    - name: Test kontenera hello
      become: yes
      docker_container:
        name: hello
        image: hello-world

    - name: Test usługi hello
      become: yes
      docker_service:
        project_name: hello
        definition:
          version: '3'
          services:
            hello:
              image: "hello-world"

Na drodze do zgodności z bezpieczeństwem CIS w instalacji silnika Docker

Ten minimalny przykład poniżej pokazuje, jaka konfiguracja roli jest wymagana do zaliczenia testów Docker bench:

- hosts: docker
  vars:
    docker_plugins:
      - type: authz
        alias: opa-docker-authz
        name: openpolicyagent/opa-docker-authz-v2:0.9
        args: opa-args="-policy-file /opa/policies/authz.rego"
    docker_enable_audit: yes
    docker_daemon_config:
      icc: false
      log-driver: journald
      userns-remap: default
      live-restore: true
      userland-proxy: false
      no-new-privileges: true
  roles:
    - haxorof.docker_ce

Ponieważ powyższa konfiguracja wymaga włączenia przestrzeni nazw użytkowników w systemie Linux, mogą być potrzebne dodatkowe argumenty GRUB. Poniższy przykład pokazuje zmiany, które mogą być potrzebne, a także wymusza ponowne uruchomienie hosta, aby zmiany mogły w pełni wejść w życie.

# https://success.docker.com/article/user-namespace-runtime-error

- hosts: docker
  roles:
    - role: jtyr.grub_cmdline
      vars:
        grub_cmdline_add_args:
          - namespace.unpriv_enable=1
          - user_namespace.enable=1
      become: yes
  tasks:
    - name: ustaw user.max_user_namespaces
      sysctl:
        name: user.max_user_namespaces
        value: 15000
        sysctl_set: yes
        state: present
        reload: yes
      become: yes

Aby uzyskać bardziej kompletny działający przykład na CentOS 7, zajrzyj tutaj.

Automatyczna macierz testowa

Oto najnowsze wyniki automatycznych testów, które znajdują się w katalogu tests:

Uwaga! Wszystkie dystrybucje wymienione w macierzy testowej nie udostępniają najnowszej wydanej wersji Docker CE.

Testy

Zestaw ID Komentarz
s-1 t_config
s-2 t_postinstall
s-3 t_auditd

Macierz testowa

Symbol Definicja
:heavy_check_mark: Wszystkie testy zaliczone
:x: Co najmniej jeden test nie przeszedł / Nie wsparte
:heavy_minus_sign: Nie wykonano testu / Jeszcze nie testowane
# s-1 s-2 s-3 zaktualizowane
AlmaLinux 8 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
AlmaLinux 9 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
Amazon Linux 2 :heavy_check_mark: :x: :heavy_check_mark: 2024-08-02
Amazon Linux 2023 :heavy_check_mark: :x: :heavy_check_mark: 2024-08-02
CentOS Stream 9 :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: 2024-08-02
Debian 11 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
Debian 12 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
Fedora 39 :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: 2024-08-02
Fedora 40 :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: 2024-08-02
Rocky Linux 8 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
Rocky Linux 9 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
Ubuntu 20.04 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
Ubuntu 22.04 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-02
Ubuntu 24.04 :heavy_minus_sign: :heavy_minus_sign: :heavy_minus_sign: 2024-08-02
RHEL 8 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-12
RHEL 9 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: 2024-08-12

Licencja

Jest to projekt open source na licencji MIT.

O projekcie

Installs and configures Docker Community Edition (CE) on AlmaLinux/Rocky/CentOS/Fedora/RHEL/Ubuntu/Debian/Mint/Raspbian

Zainstaluj
ansible-galaxy install haxorof.docker_ce
Licencja
mit
Pobrania
285.2k
Właściciel