LINUX.ORG.RU

Помогите с Docker Swarm

 


0

3

Доброе время суток. Все мы знаем что docker клевая штука и она крайне полезна и удобна в использовании, особенно если ты понимаешь что и зачем делаешь.

Я использую docker-compose для запуска того, что мне нужно (т.е. файл yml, далее идет сборка образа и запуск контейнеров на хост машине).

Я бы хотел задать пару вопросов docker-гуру (надеюсь, тут такие водятся) и получить на них вразумительный ответ на русском языке.

Вопрос № 1. Чем docker-compose отличается от использования docker swarm?

Как я понял, существуют утилиты для контроля за swarm кластером, и там тоже можно делать нечто похожее на создание приложений (сервисов) как в docker-compose. Т.е. фактически docker-compose служит для генерации image и запуска контейнеров на хост-машине, тогда как в случае со swarm все это раскидывается по разным хост-машинам? Т.е. docker-swarm кластер это такой большой сетевой docker-compose (как я понял). ?

Вопрос № 2. Предположим на 1 машине у меня docker swarm manager, на другой docker swarm worker, и я уже их соединил в 1 кластер. Правильно ли в таком случае на docker swarm worker'e подключать свое хранилище с image'ами и запускать их через docker swarm manager'e на worker машине? Или это плохая практика. Как вообще на docker worker'ах оказываются image файлы?

Вопрос № 3. Расскажите как вы видите работу балансировщика nginx в связки с сервером (например тот же PHP для примера) в таком ракурсе, что имеется запущенных 25 контейнеров PHP и если 1 упал поднимается новый вместо упавшего. Как вы это видите в контексте DOCKER разумеется?


В двух словах.

Композ — это тулза для управления докером через его API. Что-то вроде обычного докер-клиента на стероидах.

Сворм — это целый кластер из докер-машин, который наружу предоставляет API аналогичный одиночному докер-демону, поэтому им можно вертеть тем же докер-клиентом или композом.

Подробности и ответы на остальные свои вопросы ищи в документации, у докера с этим более или меняя все в порядке.

staseg ★★★★★ ()

TL;DR
По третьему пункту - можно потрогать Kubernetes, можно связку MESOS/Marathon. Во втором случае смотри, как можно реализовать server side service discovery и load balancing. Как пример: связка Gliderlabs Registrator, Consul, Consul-template, nginx (альтернатива - Marathon-lb: связка Marathon и HAProxy). В первом случае всё уже есть из коробки.

bytecode ★★ ()
Последнее исправление: bytecode (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.