Podman Compose: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 7: Zeile 7:
 
=Installation von Podman Compose=
 
=Installation von Podman Compose=
 
==Installation mit apt==
 
==Installation mit apt==
sudo apt install -y podman
+
sudo apt install -y podman-compose
 +
 
 
==Installation mit pip3==
 
==Installation mit pip3==
 
*pip3 install podman-compose
 
*pip3 install podman-compose

Version vom 19. Januar 2023, 16:16 Uhr

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-compose

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

  • Erstellen Sie ein Verzeichnis für die Datei compose.yml und wechseln Sie in dieses Verzeichnis
mkdir wordpress && cd wordpress
  • Verwenden Sie einen vi um compose.yml zu erstellen
vi compose.yml
  • Konfiguration der Podman Compose File für eine Wordpress Installation
Achtung bei mir wurden 1 mal beim Start die Env Variablen nicht geladen. Diese müssen, wenn nicht vorhaden, in wp-config.php nachgetragen werden.
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