docker:docker_compose
Inhaltsverzeichnis
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
