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
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 |
|
2026-07-25 | 2026-09-01 |
|
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_runnerläuft als Docker-Container - BuildKit-Daemon:
moby/buildkitdlä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.netaus 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
- 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-slimanstelle 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