Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:docker:installation

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:docker:installation [2026/01/25 13:42] – angelegt ingo_wichmannadmin_grundlagen:docker:installation [2026/09/19 10:15] (aktuell) – [Docker Service aktivieren] ingo_wichmann
Zeile 3: Zeile 3:
 ==== Debian (ab 12) ==== ==== Debian (ab 12) ====
 Docker Repository hinzufügen: Docker Repository hinzufügen:
-  apt install extrepo+  apt install -y extrepo
   extrepo search docker   extrepo search docker
 +-> ''Found docker-ce:''
   extrepo enable docker-ce   extrepo enable docker-ce
 +-> legt an: ''/etc/apt/sources.list.d/extrepo_docker-ce.sources''
   apt update   apt update
 Pakete installieren: Pakete installieren:
-  apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin+  apt install docker-ce
  
 ++++ Alternativ: Docker Packet von Debian | ++++ Alternativ: Docker Packet von Debian |
-  apt install docker.io docker-cli+  apt install docker.io docker-cli docker-compose
 ++++ ++++
  
Zeile 18: Zeile 20:
   dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo   dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 Pakete installieren: Pakete installieren:
-  dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin+  dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin
  
 +++++ Podman |
 +  dnf install podman
 +++++
 ===== Docker Service aktivieren ===== ===== Docker Service aktivieren =====
-  systemctl --now enable docker+  systemctl enable --now docker 
 + 
 +Docker Installation testen: 
 +  docker version 
 +  docker system info
  
-Test: läuft der Docker Service?+läuft der Docker Service?
   systemctl status docker.service   systemctl status docker.service
   docker ps   docker ps
 -> ''CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES'' -> ''CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES''
  
-===== Nutzer zur Gruppe docker hinzufügen ===== +++++ podman | 
-Erspart das ''sudo'' vor jedem ''docker''. Gibt dem Benutzer auf indirekt root-Rechte.+Podman benötigt keinen daemon. Aber es gibt einen Socket: 
 +  systemctl status podman.socket 
 +++++ 
 +====== Nutzer zur Gruppe docker hinzufügen ====== 
 +Erspart das ''sudo'' vor jedem ''docker''. Gibt dem Benutzer indirekt root-Rechte.
   gpasswd -a nutzer43 docker   gpasswd -a nutzer43 docker
  
-====== Docker Installation testen ====== +====== lokalen Proxy / Cache verwenden ====== 
-  docker version +++++ podman | 
-  docker system info+<file toml /etc/containers/registries.conf.d/10-local-docker-io-proxy.conf> 
 +[[registry]] 
 +prefix = "docker.io" 
 +location = "docker-registry.guest.linuxhotel.de" 
 +insecure = true 
 +</file> 
 +Testen, ob Images wirklich vom lokale Proxy geladen werden:  
 +  podman info --format json | jq '.registries."docker.io"' 
 +(( alternativ: 
 +  podman info --format '{{(index .Registries "docker.io").Location}}' 
 +)) 
 +  podman image rm ubuntu 
 +  podman pull --log-level=debug ubuntu 
 +++++
  
-====== Internen Cache verwenden ====== 
 <file json /etc/docker/daemon.json> <file json /etc/docker/daemon.json>
 { {
Zeile 43: Zeile 68:
 }  } 
 </file> </file>
 +
 +Cloud VM:
 +
 +<file json /etc/docker/daemon.json>
 +{
 +  "registry-mirrors": ["https://registry.lab.linuxhotel.de/nb72bnerqxlnfahdeqsfzhwjjyiqmsoz"]
 +}
 +</file>
 +
 +  systemctl restart docker.service
 +
 +===== Prüfen, ob tatsächlich der Proxy verwendet wird: =====
 +  docker image rm ubuntu
 +  docker image pull ubuntu
 +
 +  journalctl -eu docker
 +
 +
 +====== Logs zu Systemd-Journald umleiten ======
 +Wo werden Logs gespeichert?
 +  docker info --format '{{.LoggingDriver}}'
 +-> ''json-file'' (( "By default, no log-rotation is performed. As a result, log-files stored by the default json-file logging driver can cause a significant amount of disk space to be used for containers that generate much output, which can lead to disk space exhaustion.
 +Docker keeps the json-file logging driver (without log-rotation) as a default to remain backwards compatible with older versions of Docker, and for situations where Docker is used as runtime for Kubernetes." https://docs.docker.com/engine/logging/configure/ ))
 +
 +++++ podman |
 +  podman info --format '{{.Host.LogDriver}}'
 +-> ''journald'' ist default
 +++++
 +
 +Container starten, der viele Logmeldungen produziert:
 +  docker run -d --name log-filler alpine sh -c "while true; do seq -w 000000 999999; done"
 +
 +Logs (für ein paar Sekunden) ansehen
 +  docker container logs -f log-filler
 +
 +Wachstum der Logs (für ein paar Sekunden) beobachten:
 +  watch -d du -h /var/lib/docker/containers/*/*-json.log
 +
 +log-filler container wegwerfen:
 +  docker container rm -f log-filler
 +
 +
admin_grundlagen/docker/installation.1769348523.txt.gz · Zuletzt geändert: 2026/01/25 13:42 von ingo_wichmann