Я планирую использовать Docker для производственного приложения, и я не могу представить простой способ для развертывания в нашем экземпляре EC2 (запустив контейнер докера), не просто убив первый Докер-контейнер и запуск второго. Я знаю некоторые решения, такие как Centurion, Dokku и HAProxy, но все они кажутся немного сложными для того, что, похоже, должно быть простой задачей. Есть ли лучшие способы?Docker zero downtime deployment
ответ
Если он не имеет гражданства, используйте прокси-сервер перед контейнерами. Запустите новый контейнер, замените прокси-сервер, а затем уничтожьте старый контейнер.
Если нет, посмотрите на flocker.
благодаря тому, что я, вероятно, собираюсь сделать это с помощью nginx – jtmarmon
@JasonMarmon Я вспомнил этот поток, читая следующие статья http://java.dzone.com/articles/load-balance-tomcat-nginx-and Решение применяется к tomcat, но предоставляет решение для приложений, использующих сеансы. –
- 1. Heroku zero-downtime deployment with Unicorn
- 2. Zero Downtime with Hibernate
- 3. Dokku zero downtime deploy CHECKS failed
- 4. Обновление Iero Zero Downtime ARR/обратного прокси
- 5. Zero downtime deploy to azure в качестве контейнера докера
- 6. Docker Like DB Deployment
- 7. Zero downtime (или около нуля) изменения схемы db
- 8. Что такое рабочий, dyno и zero-downtime разворачивается в heroku
- 9. Unicorn + Capistrano zero-downtime deploy - Не переключение на новый выпуск
- 10. Docker fig multiple server deployment
- 11. Приложение Deployment Rails для Docker
- 12. Zero Deployment для платформы Entity Framework с SQL Compact
- 13. Azure VIP Swap downtime
- 14. Mulesoft update downtime
- 15. Shippable android Continuous Deployment
- 16. Sql Server 2008 Database Delta Deployment Deployment
- 17. Обновить изображение в контейнерах Deployment
- 18. kohana deployment
- 19. Что вы знаете о 3 Zero (0-development 0-deployment 0-management) Понятия?
- 20. Как получить систему DOWNTIME через командную строку
- 21. Обновление Azure VM или downgrade downtime
- 22. netbeans C++ deployment
- 23. Tomcat6 Duplicate Deployment
- 24. Jenkins webapp deployment
- 25. Silverlight SQL Deployment
- 26. capistrano deployment nightmare
- 27. Tesseract ClickOnce Deployment failed
- 28. AWS Deployment 403 запрещено
- 29. Visual Basic Deployment Script
- 30. JBoss Deployment Scripts
Очень широкий вопрос. «Нулевой простоя» означает, что старая версия приложения должна быть запущена во время развертывания новой версии. Это также может быть осложнено необходимостью того, чтобы некоторые приложения были отключены для изменений схемы БД. К счастью, Docker очень быстро запускается, поэтому ... если мы проигнорируем сложность, самый простой способ сделать почти нулевое время простоя: 1) вытащить новую версию из вашего реестра 2) остановить остановку старой версии и 3) запустить новую версия. –
Итак, за 10 секунд я трачу на уничтожение существующего контейнера и запуск нового, все запросы на сервер блокируются. Я хотел бы систему, которая предотвращает это 10 секунд простоя, тем более, что мы отправляем часто. – jtmarmon
10 секунд? Вы начнете контейнер меньше! Вы также проигнорировали мою квалификацию ... Является ли ваше приложение полностью без гражданства? (немногие). Нужно ли снимать состояние в автономном режиме для обновления? (например, изменение схемы БД). Для получения дополнительной информации по этой теме я предлагаю исследовать развертывание Blue/Green. См.: Http://martinfowler.com/bliki/BlueGreenDeployment.html В заключение, вот почему вам понадобится нечто большее, чем просто Docker. И да, это сложно. –