Этот вопрос является частью моего продолжающегося исследования Docker и в некотором роде следует за одним из моих более ранних вопросов. Теперь я понял, как можно получить полный стек приложений (фактически мини-VPS), работая, связывая вместе кучу контейнеров Docker. Например, можно создать стек, который обеспечивает Apache + PHP5 с помощью связки расширений + Redis + MemCached + MySQL, все запущенные поверх Ubuntu с или без дополнительного контейнера данных, чтобы упростить сериализацию пользовательских данных.
Все очень красиво и элегантно. Однако я не могу не задуматься.... 5 контейнеров для запуска этого небольшого VPS (я считаю 5 не 6, так как Apache + PHP5 входит в один контейнер). Итак, предположим, что у меня есть 100 таких VPS? Это означает, что у меня есть 500 контейнеров! Я понимаю здесь аргументы - легко создавать новые стеки приложений, обновлять один компонент стека и т.д. Но нет ли лишних накладных расходов для работы таким образом?
Предположим, что я сделал это
- Поместите все мои приложения в один контейнер
-
Запишите небольшую оболочку script
!/Bin/bash запуск службы memcached запуск службы redis-server .... сервис apache2 start в то время как: делать: сделано
В моем файле Docker у меня есть
ADD start.sh /usr/local/bin/start.sh
RUN chmod +x /usr/local/bin/start.sh
....
ENTRYPOINT ["/bin/bash"]
CMD ["/usr/local/bin/start.sh"]
Затем я запускаю этот контейнер и запускаю
docker run -d -p 8080:80 -v /var/droidos/site:/var/www/html -v /var/droidos/logs:/var/log/apache2 droidos/minivps
и я занимаюсь бизнесом. Теперь, когда я хочу программно закрыть этот контейнер, я могу сделать это, выполнив одну команду docker.
Есть много вопросов подобного характера, которые можно найти, когда один Google для них. Помимо аргументов, которые я воспроизвел выше, одна из наиболее распространенных причин, заданных для подхода "один-на-контейнер", - "это то, как Docker предназначен для работы". Что я хотел бы знать
- Каковы недостатки запуска x100 экземпляров N связанных контейнеров - компромиссы по скорости, использованию памяти и т.д. на хосте?
- Что не так с тем, что я здесь сделал?