Ответ 1
docker
cli используется при управлении отдельными контейнерами на движке докеров. Командная строка клиента получает доступ к демону docker api.
docker-compose
cli может использоваться для управления многоконтейнерным приложением. Он также перемещает многие параметры, которые вы вводите в docker run
cli в файл docker-compose.yml
для более простого повторного использования. Он работает как передний конец "script" поверх той же докеры api, используемой docker
, поэтому вы можете делать все docker-compose
с помощью команд docker
и много сценариев оболочки. Подробнее см. эту документацию по компоновке docker.
Обновление для режима Swarm
Поскольку этот ответ был отправлен, докер добавил второе использование файлов docker-compose.yml. Начиная с версия 3 yml format и docker 1.13, вы можете использовать yml с компоновкой docker, а также определить стек в режиме роуминга докеров. Чтобы сделать последнее, вам нужно использовать docker stack deploy -c docker-compose.yml $stack_name
вместо docker-compose up
, а затем управлять стеком командами docker
вместо команд docker-compose
. Отображение является одним для одного между двумя видами использования:
- Compose Project → Swarm Stack: группа услуг для определенной цели
- Составить сервис → Услуга рой: одно изображение и его конфигурация, возможно, увеличена.
- Составить контейнер → Задача Рой: один контейнер в сервисе
Подробнее о режиме рой см. в документации режима роуминга докеров.