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ć.
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-core2.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.
Installs and configures Docker Community Edition (CE) on AlmaLinux/Rocky/CentOS/Fedora/RHEL/Ubuntu/Debian/Mint/Raspbian
ansible-galaxy install haxorof.docker_ce