Files
chemenu/kb/entities/technologies/Docker.md
T
torben b137359b90 feat: Link-Taxonomie u1 - kb/entities/systems, tools, technologies gelabelt
Files changed:
- kb/concepts/Denylist over Allowlist.md
- kb/concepts/LLM Wiki Pattern.md
- kb/concepts/SSD TRIM.md
- kb/entities/people/E3DC GmbH.md
- kb/entities/people/Vannevar Bush.md
- kb/entities/projects/ha-core.md
- kb/entities/projects/hacs-integration-blueprint.md
- kb/entities/systems/AGENTS.md.md
- kb/entities/systems/CLAUDE.md.md
- kb/entities/systems/E3DC.md
- kb/entities/systems/ENVIRONMENT.md.md
- kb/entities/systems/Memex.md
- kb/entities/systems/Tolkien Gateway.md
- kb/entities/technologies/Arch Linux.md
- kb/entities/technologies/Disk Encryption.md
- kb/entities/technologies/Docker.md
- kb/entities/technologies/Gitea Actions.md
- kb/entities/technologies/Gitea.md
- kb/entities/technologies/Go.md
- kb/entities/technologies/Home Assistant.md
- kb/entities/technologies/Kernel PM Governors.md
- kb/entities/technologies/LVM.md
- kb/entities/technologies/Linux Kernel.md
- kb/entities/technologies/MQTT.md
- kb/entities/technologies/OPC UA.md
- kb/entities/technologies/Python.md
- kb/entities/technologies/Rust.md
- kb/entities/technologies/Wine GE.md
- kb/entities/technologies/Wine-Staging.md
- kb/entities/technologies/acpi-cpufreq.md
- kb/entities/technologies/amd-pstate.md
- kb/entities/technologies/iii Engine.md
- kb/entities/tools/AUR.md
- kb/entities/tools/Act Runner.md
- kb/entities/tools/Agent Memory.md
- kb/entities/tools/Aura.md
- kb/entities/tools/Bottles.md
- kb/entities/tools/ChatGPT.md
- kb/entities/tools/Claude Code.md
- kb/entities/tools/Codex CLI.md
- kb/entities/tools/Dataview.md
- kb/entities/tools/GPG.md
- kb/entities/tools/GitHub Copilot.md
- kb/entities/tools/Gitea MCP Server.md
- kb/entities/tools/Lutris.md
- kb/entities/tools/Marp.md
- kb/entities/tools/Mistral Vibe.md
- kb/entities/tools/NotebookLM.md
- kb/entities/tools/Obsidian Web Clipper.md
- kb/entities/tools/Obsidian.md
- kb/entities/tools/OpenAI Codex.md
- kb/entities/tools/OpenCode.md
- kb/entities/tools/Pi.md
- kb/entities/tools/Proton.md
- kb/entities/tools/Wine.md
- kb/entities/tools/awesome-llm-wiki.md
- kb/entities/tools/farzaa gist.md
- kb/entities/tools/gdeploy.md
- kb/entities/tools/makepkg.md
- kb/entities/tools/pascalandy schema.md
- kb/entities/tools/qmd.md
- kb/entities/tools/wikitool.md
- kb/log.md
- work/link-taxonomy-migration/glossary.md
2026-09-02 19:36:04 +02:00

4.3 KiB

type, entity_type, tags, created, modified, related, sources, confidence, confidence_base, provenance, summary
type entity_type tags created modified related sources confidence confidence_base provenance summary
types/entity.md technology
containers
containerization
docker
runtime
2026-07-25 2026-09-01
Source - Docker Cheatsheet
0.95 0.95 sourced Container-Plattform als Industriestandard für CI/CD-Infrastruktur, mit BuildKit-Daemon und entfernter Docker-Verwaltung über SSH.

Docker

Typ: Technology (Container Platform)

Beschreibung

Docker ist die Industrie-Standard-Container-Plattform, die in der gesamten CI/CD-Infrastruktur für Container-Laufzeit, Build-Ausführung und Service-Bereitstellung verwendet wird. Sie bietet die Grundlage für die Ausführung von Containern auf ci-runner.example.net und docker-host.example.net.

Kerndaten

  • Typ: Container-Plattform
  • Status: Aktiv
  • Zweck: Container-Laufzeit und Build-Ausführung
  • Lizenz: Apache 2.0
  • Geschrieben in: Go

Architektur in der Infrastruktur

Auf ci-runner.example.net

  • Docker-Daemon: Docker-Service auf Host-Ebene
  • Runner-Container: act_runner läuft als Docker-Container
  • BuildKit-Daemon: moby/buildkitd läuft als Docker-Container auf Port 1234
  • Job-Container: Kurzlebige Container pro CI-Job in isolierten Bridge-Netzen

Auf dem Docker-Host

  • Legacy-Container: Werden von ci-runner.example.net aus remote verwaltet
  • Docker-Daemon: Standard Docker-Service
  • Zugriff: Via SSH aus CI-Workflows

Konfigurationsdetails

Docker-Socket-Anbindung

  • Ort: /var/run/docker.sock
  • Angebunden an: act_runner-Container (für BuildKit-Verwaltung)
  • NICHT angebunden an: Job-Container (Sicherheit: vermeidet DinD-Risiken)

Network-Modi

  • Runner: host-Network-Modus für Cache-Anbindung
  • Jobs: Isolierte temporäre Bridge-Netze (leeres container.network)
  • BuildKit: bridge-Netz mit Port 1234 freigegeben

Fernverwaltung

SSH-basierte Docker-Kontrolle

CI-Workflows auf ci-runner.example.net verwalten Docker auf docker-host.example.net:

# Set Docker host to remote via SSH
export DOCKER_HOST=ssh://ci@192.0.2.10

# Execute Docker commands remotely
docker ps
docker-compose up -d

Authentifizierung

  • SSH-Schlüssel: Ed25519-Schlüssel aus 1Password "CI-CD"-Vault
  • Benutzer: ci
  • Methode: Standard-SSH-Authentifizierung

Sicherheitsaspekte

Docker-in-Docker (DinD) - Vermeidung

Traditioneller DinD-Ansatz:

# NOT USED - Security risk
docker run -v /var/run/docker.sock:/var/run/docker.sock ...

Stattdessen:

  • BuildKit-Daemon läuft separat
  • Job-Container verbinden sich via TCP
  • Kein Zugriff auf Host Docker-Socket in Jobs

Vorteile

  • Isolation: Job-Container können nicht auf Host Docker zugreifen
  • Sicherheit: Reduzierte Angriffsfläche
  • Kontrolle: Zentralisierte Build-Infrastruktur

Beziehungen

, Gitea Actions

  • Teil von: Kerninfrastruktur

Version und Kompatibilität

Kompatibilitätshinweise

  • Debian 13: Exzellente Docker-Unterstützung (Referenzplattform)
  • Arch Linux: Gute Docker-Unterstützung für Build-Szenarien
  • Alpine Linux: Unterstützt, aber eingeschränkt durch musl libc für einige Tools

1Password CLI-Kompatibilität

  • Funktioniert: glibc-basierte Distributionen (Debian, Arch)
  • Funktioniert nicht: musl libc-basierte Distributionen (Alpine) mit Exitcode 127
  • Auswirkung: Container-Build-Jobs verwenden debian:trixie-slim anstelle von Alpine

Volume-Verwaltung und Fehlerbehebung

Overlay-FS-Auflösung

Bei der Fehlerbehebung von Backup-Problemen, gesperrten Dateien oder Berechtigungsproblemen können Sie Overlay-Dateisystem-Verzeichnisse ihren Containern zuordnen:

for container in $(docker ps --all --quiet --format '{{ .Names }}'); do
   echo "$(docker inspect $container --format '{{.GraphDriver.Data.MergedDir }}' | grep -Po '^.+?(?=/merged)'  ) = $container"
done

Ausgabe: Listet alle Overlay-Verzeichnisse unter /var/lib/docker/overlay2/ mit ihren entsprechenden Container-Namen auf.

Anwendungsfall: Identifiziert, welcher Container ein bestimmtes Overlay-Verzeichnis besitzt (z. B. /var/lib/docker/overlay2/768... = starwars).

Siehe auch

  • Primärer Docker-Host
  • Legacy Docker-Host
  • Build-System mit Docker
  • Docker-Container
  • CI/CD mit Docker
  • Verwendet Docker als Laufzeit concept concept
  • Source - Docker Cheatsheet