2 ответов:
The
dockercli используется при управлении отдельными контейнерами на Docker engine. Это клиентская командная строка для доступа к api демона docker.The
docker-composeкомандной строки может использоваться для управления мульти-контейнер приложения. Он также перемещает многие параметры, которые вы бы ввели наdocker runcli вdocker-compose.ymlфайл для более легкого повторного использования. Он работает как внешний "скрипт" поверх того же api docker, который используетсяdocker, Так что вы можете сделать всеdocker-composeСdockerкоманды и много сценариев оболочки. Смотрите эта документация по docker-compose для более подробной информации.
обновление для режима Роя
поскольку этот ответ был опубликован, docker добавил второе использование docker-compose.файла в формате YML. Начиная с версия 3 формат yml и docker 1.13, вы можете использовать yml с docker-compose, а также определить стек в режиме Роя docker. Для этого вам нужно использовать
docker stack deploy -c docker-compose.yml $stack_nameвместо изdocker-compose upа затем управлять стеком сdockerкоманды вместоdocker-composeкоманды. Сопоставление является один для одного между двумя видами использования:
- составить проект - > Рой стек: группа услуг для конкретной цели
- Compose Service - > Swarm Service:одно изображение и его конфигурация, возможно, масштабируется.
- Compose Container - > Swarm Task: один контейнер в службе
для получения более подробной информации о режиме копошиться см. документация режима Роя докера.
dockerуправляет одиночными контейнерами
docker-composeуправляет несколькими контейнерными приложениямииспользование docker-compose требуется 3 шага:
- определите среду приложения с помощью Dockerfile
- определите приложений docker-compose.в формате YML
- выполнить
docker-compose upдля запуска и работы приложениениже docker-compose.в формате YML пример взят из docker docs:
services: web: build: . ports: - "5000:5000" volumes: - .:/code - logvolume01:/var/log links: - redis redis: image: redis volumes: logvolume01: {}

Comments