added readmes (#1)
Co-authored-by: DerLinkman <derlinkman@gmail.com> Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
# Rolle `docker`
|
||||
|
||||
Installiert die Docker Engine über das offizielle Docker-Repository für Debian.
|
||||
Die Rolle fügt den Docker-GPG-Key hinzu, richtet eine APT-Quelle im deb822-Format
|
||||
ein und installiert alle benötigten Pakete (Engine, CLI, containerd, Buildx- und
|
||||
Compose-Plugin).
|
||||
|
||||
> Siehe auch das Playbook `playbooks/docker.yml` sowie die
|
||||
> [Repo-README](../../README.md).
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- Debian-Ziel-Host
|
||||
- Internetzugang zum Docker-Repository (`download.docker.com`)
|
||||
- Benutzer mit `become`-Rechten
|
||||
|
||||
## Einbindung
|
||||
|
||||
Die Rolle wird typischerweise über das Playbook `playbooks/docker.yml` oder
|
||||
automatisch durch die `bootstrap`-Rolle (`import_role`) aufgerufen. Direkte
|
||||
Einbindung per `import_role`:
|
||||
|
||||
```yaml
|
||||
- hosts: all
|
||||
become: true
|
||||
user: admin
|
||||
roles:
|
||||
- role: docker
|
||||
```
|
||||
|
||||
```bash
|
||||
ansible-playbook -i inventory/dmc12.yml playbooks/docker.yml
|
||||
```
|
||||
|
||||
## Funktionsweise
|
||||
|
||||
`tasks/main.yml` inkludiert die eigentliche Installations-Logik aus
|
||||
`tasks/install-docker.yml`:
|
||||
|
||||
1. **apt-Cache aktualisieren** – `cache_valid_time: 3600`
|
||||
2. **Voraussetzungen installieren** – `ca-certificates`, `curl`
|
||||
3. **Keyring-Verzeichnis anlegen** – `/etc/apt/keyrings` (Mode `0755`)
|
||||
4. **Docker GPG-Key herunterladen** – nach `/etc/apt/keyrings/docker.asc`
|
||||
5. **APT-Quelle einrichten** – Template `sources.list.j2` nach
|
||||
`/etc/apt/sources.list.d/docker.sources` (deb822-Format)
|
||||
6. **apt-Cache aktualisieren** – nach Repository-Hinzufügung
|
||||
7. **Docker-Pakete installieren** – `docker_packages` (benachrichtigt Handler
|
||||
`Start Docker`)
|
||||
|
||||
## Variablen
|
||||
|
||||
| Variable | Typ | Default | Beschreibung |
|
||||
|----------------------|---------|--------------------------------------|-------------------------------------------------------|
|
||||
| `docker_mirror` | string | `https://download.docker.com/linux/debian` | Basis-URL des Docker-APT-Repositories |
|
||||
| `os_version_codename`| string | `{{ ansible_lsb.codename }}` | Codename der Distribution (für `Suites:`) |
|
||||
| `docker_packages` | list | siehe unten | Liste der zu installierenden Docker-Pakete |
|
||||
|
||||
Default `docker_packages`:
|
||||
|
||||
```yaml
|
||||
docker_packages:
|
||||
- docker-ce
|
||||
- docker-ce-cli
|
||||
- containerd.io
|
||||
- docker-buildx-plugin
|
||||
- docker-compose-plugin
|
||||
```
|
||||
|
||||
`os_version_codename` wird standardmäßig automatisch anhand von
|
||||
`ansible_lsb.codename` ermittelt und kann bei Bedarf überschrieben werden.
|
||||
|
||||
## Templates
|
||||
|
||||
| Template | Ziel |
|
||||
|-------------------|-------------------------------------------------|
|
||||
| `sources.list.j2` | `/etc/apt/sources.list.d/docker.sources` (deb822) |
|
||||
|
||||
## Handler
|
||||
|
||||
| Handler | Auslöser |
|
||||
|------------------|-----------------------------------------------------|
|
||||
| `Start Docker` | Installation/Aktualisierung der Docker-Pakete |
|
||||
| `Restart Docker` | (reserviert) systemd-Neustart |
|
||||
| `Reload Docker` | (reserviert) systemd-Reload |
|
||||
|
||||
## Tags
|
||||
|
||||
Die Rolle vergibt keine eigenen Tags. Bei Bedarf über das Playbook steuerbar.
|
||||
|
||||
## Abhängigkeiten
|
||||
|
||||
- Keine weiteren Rollen.
|
||||
- Collections: `ansible.builtin` (Bordmittel).
|
||||
|
||||
## Hinweise
|
||||
|
||||
- Die APT-Quelle liegt im **deb822-Format** vor, was ab Debian 12+ empfohlen
|
||||
wird. Das签ierte-Keyfile liegt unter `/etc/apt/keyrings/docker.asc`.
|
||||
- Der Handler `Start Docker` aktiviert und startet den Service, ohne bereits
|
||||
laufende Container zu beeinflussen.
|
||||
- Wird die Rolle innerhalb von `bootstrap` aufgerufen, übernimmt das Top-Level
|
||||
Playbook das `become`/`user`-Handling.
|
||||
Reference in New Issue
Block a user