docker
同じ dockerFile を操作しているように見えますがdocker-compose
、2 つのツールの違いは何でしょうか?
ベストアンサー1
CLIdocker
は、Docker エンジン上の個々のコンテナを管理するときに使用されます。これは、Docker デーモン API にアクセスするためのクライアント コマンド ラインです。
CLIdocker-compose
は、マルチコンテナ アプリケーションの管理に使用できます。また、CLI で入力するオプションの多くをファイルdocker run
に移動するdocker-compose.yml
ので、再利用が容易になります。これは、 で使用される同じ docker API の上でフロントエンド「スクリプト」として機能するため、コマンドと多くのシェル スクリプトで実行できるdocker
すべての操作を実行できます。docker-compose
docker
docker-composeに関するこのドキュメント詳細については。
スウォームモードのアップデート
この回答が投稿されてから、dockerはdocker-compose.ymlファイルの2番目の使用法を追加しました。バージョン 3 yml 形式および docker 1.13 では、docker-compose で yml を使用し、docker の swarm モードでスタックを定義することもできます。後者を実行するには、docker stack deploy -c docker-compose.yml $stack_name
の代わりに を使用し、コマンドの代わりにコマンドdocker-compose up
を使用してスタックを管理する必要があります。マッピングは、2 つの使用法間で 1 対 1 です。docker
docker-compose
- Compose Project -> Swarm Stack: 特定の目的のためのサービスのグループ
- Compose サービス -> Swarm サービス: 1 つのイメージとその構成 (スケールアップされる可能性があります)。
- Compose Container -> Swarm Task: サービス内の単一のコンテナ
スウォームモードの詳細については、docker の swarm モードのドキュメント。