docker
и, docker-compose
кажется, взаимодействует с одним и тем же dockerFile, в чем разница между этими двумя инструментами?
источник
docker
и, docker-compose
кажется, взаимодействует с одним и тем же dockerFile, в чем разница между этими двумя инструментами?
docker
CLI используется при управлении отдельными контейнерами на DOCKER двигателе. Это командная строка клиента для доступа к API-интерфейсу Docker.
docker-compose
Кли может быть использован для управления многофункциональным приложением контейнера. Он также перемещает многие параметры, которые вы вводите docker run
в docker-compose.yml
файл, для облегчения повторного использования. Он работает как «скрипт» внешнего интерфейса поверх того же API-интерфейса докера docker
, так что вы можете делать все, что docker-compose
делает с docker
командами и множеством сценариев оболочки. Смотрите эту документацию по docker-compose для более подробной информации.
Обновление для режима Swarm
С тех пор, как этот ответ был опубликован, docker добавил второе использование файлов docker-compose.yml. Начиная с версии yml формата 3 и докера 1.13, вы можете использовать yml с docker-compose, а также определять стек в режиме роя докера. Чтобы сделать последнее, вам нужно использовать docker stack deploy -c docker-compose.yml $stack_name
вместо, docker-compose up
а затем управлять стеком с помощью docker
команд вместо docker-compose
команд. Отображение один на один между двумя видами использования:
Для получения дополнительной информации о режиме роя см . Документацию по режиму роя докера .
docker
управляет отдельными контейнерами
docker-compose
управляет несколькими контейнерными приложениями
Использование docker-compose требует 3 шага:
docker-compose up
чтобы запустить и запустить приложениеНиже приведен пример docker-compose.yml, взятый из документации docker :
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
build: .
вweb
разделе указывает на местоположение Dockerfile, созданного на шаге 1.