Antworten:
Die dockerCLI wird verwendet, wenn einzelne Container auf einer Docker-Engine verwaltet werden. Es ist die Client-Befehlszeile, um auf die Docker-Daemon-API zuzugreifen.
Mit der docker-composeCLI kann eine Anwendung mit mehreren Containern verwaltet werden. Außerdem werden viele der Optionen, die Sie auf der docker runCLI eingeben würden, docker-compose.ymlzur einfacheren Wiederverwendung in die Datei verschoben. Es funktioniert als Front-End- "Skript" auf derselben Docker-API, die auch von verwendet wird docker, sodass Sie alles docker-composemit dockerBefehlen und viel Shell-Scripting tun können . Weitere Informationen finden Sie in dieser Dokumentation zu Docker-Compose .
Update für den Schwarmmodus
Seit diese Antwort veröffentlicht wurde, hat Docker eine zweite Verwendung von docker-compose.yml-Dateien hinzugefügt. Ab dem yml-Format der Version 3 und Docker 1.13 können Sie das yml mit Docker-Compose verwenden und auch einen Stapel im Docker-Schwarmmodus definieren. Für Letzteres müssen Sie verwenden docker stack deploy -c docker-compose.yml $stack_namestatt docker-compose upund dann den Stapel mit verwalten dockerBefehle statt docker-composeBefehle. Das Mapping ist eins zu eins zwischen den beiden Verwendungszwecken:
Weitere Informationen zum Schwarmmodus finden Sie in der Dokumentation zum Schwarmmodus des Dockers .
docker verwaltet einzelne Container
docker-compose verwaltet mehrere Containeranwendungen
Die Verwendung von Docker-Compose erfordert 3 Schritte:
docker-compose up, um die App zu starten und auszuführenUnten finden Sie ein Beispiel für docker-compose.yml aus den Docker-Dokumenten :
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
build: .imwebAbschnitt auf die Position der Docker-Datei, die in Schritt 1 erstellt wurde.