Podman Compose

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Was ist Podman Compose

  • Podman Compose ist eine Docker Compose Implementierung für Podman.
  • Indem alle erforderlichen Anweisungen in einer einzigen YAML-Datei zusammengefasst werden, ist das Managment leichter.
  • Podman Compose wurde entwickelt, um volle Kompatibilität mit Docker Compose YAML-Dateien zu bieten.
  • Es sind allerdings erweiterte Funktionen vorhanden um Podman's rootless und daemon lose Eigenschaften zu händeln.

Installation von Podman Compose

  • pip3 install podman-compose
test@tengel:~$ pip3 install podman-compose
Defaulting to user installation because normal site-packages is not writeable
Collecting podman-compose
  Downloading podman_compose-1.0.3-py2.py3-none-any.whl (27 kB)
Requirement already satisfied: pyyaml in /usr/lib/python3/dist-packages (from podman-compose) (5.4.1)
Collecting python-dotenv
  Downloading python_dotenv-0.21.0-py3-none-any.whl (18 kB)
Installing collected packages: python-dotenv, podman-compose
Successfully installed podman-compose-1.0.3 python-dotenv-0.21.0

Nutzung von Podman Compose

Beispiel Podman Compose Plex-Medienserverinstanz

  • Plex Container herunterladen
podman pull docker.io/linuxserver/plex
  • Erstellen Sie ein Verzeichnis für die Datei compose.yml und wechseln Sie in dieses Verzeichnis
mkdir plex-test && cd plex-test
  • Verwenden Sie einen vi um compose.yml zu erstellen
vi compose.yml
  • Konfiguration der Podman Compose File für einen Plex-Server
services:
  plex:
    image: docker.io/linuxserver/plex
    container_name: plex
    network_mode: host
    environment:
      - VERSION=podman
    restart: always
    volumes:
      - ${PLEX_MEDIA_PATH}:/media/
  • Starten der Compose File
podman-compose up
Notiz
  • Wenn der Benutzer den Befehl podman-compose up ausgibt, führt Podman Compose eine Reihe von Aufgaben aus:
    • Erstellt einen Pod mit dem Namen, der dem Namen des aktuellen Verzeichnisses entspricht
    • Überprüft, ob die in compose.yml angegebenen Volumes vorhanden sind, und erstellt die fehlenden Volumes
    • Erstellt einen Container für jeden in compose.yml definierten Dienst
    • Fügt dem Pod die Container hinzu