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

Installation mit apt

sudo apt install -y podman

Installation mit pip3

  • 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 Wordpress

  • 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
version: "3.8"
services: 
  web:
    image: wordpress
    restart: always
    volumes:
      - ./wordpress:/var/www/html
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: xinux
      WORDPRESS_DB_NAME: xinux_intern
      WORDPRESS_DB_PASSWORD: suxer
      WORDPRESS_TABLE_PREFIX: wp
      WORDPRESS_DEBUG: 0
    depends_on:
      - db
    networks:
      - wpnet
  db:
    image: mariadb:10.5
    restart: always
    ports:
      - 3306:3306
    volumes:
      - ./mysql:/var/lib/mysql
    environment:
      MYSQL_DATABASE: xinux_intern
      MYSQL_USER: xinux
      MYSQL_PASSWORD: suxer
      MYSQL_ROOT_PASSWORD: suxer
    networks:
      - wpnet
volumes:
  wordpress: {}
  wpdbvol: {}

networks:
  wpnet: {}

  • 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