Docker Compose
Hauptdatei: /home/revolt/compose.yml
cd /home/revolt
cat compose.yml
Wichtige Docker-Befehle
Status anzeigen
cd /home/revolt
Alle Container
docker compose ps
Alle mit Ports
docker compose ps --format "table {{.Name}}\t{{.Status}}\t{{.Ports}}"
Einzelner Container
docker inspect dreylo-profile-api
Container starten / stoppen
# Alles starten
docker compose up -d
Nur einen Service neu starten (ohne Rebuild)
docker compose restart web
docker compose restart dreylo-profile-api
Container stoppen
docker compose stop web
Container stoppen und entfernen
docker compose down web
Logs anzeigen
# Live-Logs eines Containers
docker logs stoat-api-1 -f --tail 50
Nur Fehler
docker logs stoat-api-1 2>&1 | grep -i error
Profile API Logs
docker logs dreylo-profile-api --tail 20
In Container einloggen
# Shell in Container
docker exec -it stoat-api-1 sh
docker exec -it dreylo-profile-api sh
docker exec -it stoat-database-1 bash
MongoDB Shell
docker exec -it stoat-database-1 mongosh
Container neu bauen
# Mit Cache (schneller)
docker compose up -d dreylo-profile-api
Ohne Cache (wenn Code geändert)
docker compose up -d --build dreylo-profile-api
Image komplett neu bauen (kein Cache)
docker compose build --no-cache dreylo-profile-api
docker compose up -d dreylo-profile-api
Aufräumen
# Ungenutzte Images löschen
docker image prune -f
Alles aufräumen (Vorsicht!)
docker system prune -f
Nur ungenutzte Volumes
docker volume prune -f
Docker Networking
# Netzwerk inspizieren
docker network inspect stoat_default | python3 -m json.tool | grep -A3 Name
Container-zu-Container Verbindung testen
docker exec dreylo-profile-api wget -qO- http://api:14702/users/@me 2>&1
ENV-Variablen eines Containers prüfen
docker exec dreylo-profile-api env
compose.yml Struktur (Dreylo-Ergänzungen)
services:
# ... Stoat-eigene Services ...
dreylo-profile-api:
build: ./dreylo-profile-api
container_name: dreylo-profile-api
restart: always
environment:
PORT: 3010
MONGO_URL: mongodb://database:27017/dreylo-profiles
STOAT_API_URL: http://api:14702
networks:
- default # stoat_default
dreylo-bot:
build: ./dreylo-bot
container_name: dreylo-bot
restart: always
env_file:
- ./dreylo-bot/.env
Hinweis: ENV-Variablen imcompose.ymlhaben Vorrang vor.envDateien! Immerdocker exec container envprüfen.