В чем разница между docker и docker-compose



docker и docker-compose Кажется, что он взаимодействует с одним и тем же dockerFile, в чем разница между этими двумя инструментами?

900   2  

2 ответов:

The docker cli используется при управлении отдельными контейнерами на Docker engine. Это клиентская командная строка для доступа к api демона docker.

The docker-compose командной строки может использоваться для управления мульти-контейнер приложения. Он также перемещает многие параметры, которые вы бы ввели на docker run cli в 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 шага:

  1. определите среду приложения с помощью Dockerfile
  2. определите приложений docker-compose.в формате YML
  3. выполнить docker-compose up для запуска и работы приложение

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

    Ничего не найдено.