2015-05-14 19 views
27

Ich habe eine docker-compose.yml, die mehrere Container enthalten. Drei von ihnen sind für meine App (Client, Server und Datenbank) und der Rest sind für verschiedene Entwickler-Tools (z. B. psql, npm, manage.py, etc). Wenn ich docker-compose up mache, werden alle von ihnen gestartet, aber ich möchte nur die drei wichtigsten starten. Wegen der Links, die ich angegeben habe, kann ich nur diese drei mit docker-compose up client starten, aber dann ist die Ausgabe nur von diesem einen Container. So ist es eine Möglichkeit, einen der folgenden Schritte zu tun:Docker-komponieren für nur bestimmte Behälter

  1. Tells Docker-compose, die Behälter von docker-compose up
  2. Erhalten Ausgang von allen Inhalten aller gelinkten Behälter aus docker-compose up client

Antwort

48

Sie beginnen Begonnen von Behälter mittels:

$ docker-compose up -d client 

Diese Behälter im Hintergrund ausgeführt wird und die Ausgabe wird aus

01 verfügbar sein,
$ docker-compose logs 

und es wird aus allen gestartet Container

+3

dies sollte die akzeptierte Antwort sein, weil sie tatsächlich die Frage beantwortet. –

2

Sie in der Regel nicht wollen, dies zu tun. Mit Docker Compose definieren Sie Dienste, die Ihre App zusammenstellen. npm und manage.py sind nur Verwaltungsbefehle. Sie brauchen keinen Container für sie. Wenn es nötig ist, sagen erstellen Sie Ihre Datenbank-Tabellen mit manage.py, alles, was Sie tun müssen, ist:

docker-compose run client python manage.py create_db 

Betrachten Sie es als die Einmal dynos Heroku verwendet.

Wenn Sie wirklich brauchen, um diese Management-Befehle zu behandeln, als separater Behälter (und auch Docker Compose für diese verwenden), können Sie eine separate .yml Datei erstellen könnten und Docker Compose mit dem folgenden Befehl starten:

docker-compose up -f my_custom_docker_compose.yml 
+1

_Das möchten Sie normalerweise nicht tun_ - Ja, aber es ist sehr praktisch, wenn Sie zum Beispiel eine Datenbank füllen wollen, bevor Sie alle anderen Dienste starten – msrd0

+1

[Viele Leute] (https://github.com/docker/compose/issues/1896) wollen dies tun. – kojiro

Verwandte Themen