Benutzer-Werkzeuge

Webseiten-Werkzeuge


docker:docker_compose

Docker Compose Erste Schritte

Kurzfassung

  • Docker Compose orchestriert mehrere Container mit deklarativen YAML-Dateien.
  • Dienste werden gemeinsam gestartet, gestoppt und skaliert.
  • Mit wenigen Kommandos läuft ein Apache-Webserver mit PHP 8 samt Volume.

Voraussetzungen

  • Installierte Docker Engine und Docker Compose Plugin (Docker Installation)
  • Benutzer mit Zugriff auf die docker-Gruppe oder sudo
  • Optional: Git/Editor für eigene Projektdateien

Erste Schritte

Version prüfen:

docker compose version

Neues Projektverzeichnis anlegen:
(Es wird im Homeverzeichnis des User ein docker Ordner erstellt)

mkdir -p ~/docker/apache-php-compose/html

Docker-Compose-Datei erstellen:

cat <<'EOF' > ~/docker/apache-php-compose/docker-compose.yml
services:
  web:
    image: php:8.2-apache
    ports:
      - "8080:80"
    volumes:
      - ./html:/var/www/html
EOF

Beispielindex mit phpinfo() erzeugen:

cat <<'EOF' > ~/docker/apache-php-compose/html/index.php
<?php phpinfo();
EOF

Apache mit PHP 8 starten

Container starten (Detached, benannt durch Dienstnamen):

cd ~/docker/apache-php-compose
docker compose up -d

Log-Ausgabe verfolgen und Ergebnis prüfen:

docker compose logs --tail 20
# Browser: http://localhost:8080

Container stoppen und entfernen:

docker compose down

Eigenes Image erweitern (optional)

cat <<'EOF' > ~/docker/apache-php-compose/Dockerfile
FROM php:8.2-apache
RUN docker-php-ext-install pdo_mysql
COPY html/ /var/www/html/
EOF

cat <<'EOF' > ~/docker/apache-php-compose/docker-compose.yml
services:
  web:
    build: .
    ports:
      - "8080:80"
    volumes:
      - ./html:/var/www/html
EOF

docker compose up -d --build

Kommandos

Dienste im Vordergrund starten:

docker compose up

Projekt im Hintergrund starten:

docker compose up -d

Logs aller Dienste einsehen:

docker compose logs -f

Container stoppen / entfernen:

docker compose down

Einzelnen Dienst neu starten:

docker compose restart web

Siehe auch

docker/docker_compose.txt · Zuletzt geändert: von 127.0.0.1