Я запустил докер на AWS и других поставщиков облаков. Это действительно не так сложно, если у вас есть опыт работы с системным администрированием и/или devops. Что касается облачных хостеров и начать, большинство провайдеров имеют какой-то учебник о том, как начать использовать докер с их инфраструктурой:
Могу ли я построить Docker изображение с любым типом сервера (например, wildfly, payara) и/или сервером базы данных (например, mysql, oracle), и будет ли он работать с облачным/датацентром с поддержкой докеров?
Чтобы получить сервер и работает, вам просто нужен Docker двигатель, установленный на хосте, есть пакеты для многих дистрибутивов:
После установки докера двигатель , вы можете создавать док-файлы для любого сервера или службы. Надеюсь, вам не нужно, в большинстве случаев, потому что есть бесчисленные файлы докеров и предварительно настроенные, поддерживаемые поставщиком изображения уже доступны на dockerhub (например, я использую wildfly, elk-stack и mysql). Будьте осторожны при выборе изображений, в противном случае у вас возникнут проблемы с безопасностью на ваших изображениях, которые никогда не могут быть исправлены! Или вы должны сделать это сами!
Пример изображения:
Если это да, как о постоянных DATAS как файлы базы данных и статической хранилища (напр. изображения, загруженные документы, журналы) хранятся в изображениях докеров или в другом месте?Что произойдет с этими файлами, когда Я обновляю свое приложение и переустанавливаю новое изображение?
В общем, вы хотите, чтобы хранить постоянные данные внешних по отношению к Docker изображения и смонтировать его в образ как объем: https://docs.docker.com/engine/tutorials/dockervolumes/
Некоторые поставщики облачных систем хранения данных на основе может быть проще установить или подключить к другими способами, но этот объемный подход является стандартным, ИМО.
Для лог-файлов я фактически нажимаю их на сервер ELK, поэтому наличие тома для журналов необязательно требуется. Однако, поскольку сервер ELK также является докеревым изображением, он имеет том, где данные сохраняются.
Так у вас есть:
- документация от облачного хостера (или докер себя)
- хозяина в вашем облаке работает докер двигатель
- 0..n изображения, которые вы можете или захватить из dockerhub или построить себя.
- Хранить для хранения постоянных данных на этом хосте или смонтированных из других источников, которые вы монтируете в свои файлы докеров при запуске. это где, например, mysql в реальном времени, или где вы можете сохранить журналы и т. д.
Конечно, это может быть намного сложнее оттуда, например. как прозрачно масштабировать и обновлять среду и т. д., но это что-то такое, например. кубернетов или докеров или какое-то другое решение (я сам написал сценарий самостоятельно, но не нуждаюсь в прочности или эластичности масштабируемости больших систем).
Что касается управления кластерами, следует отметить, что Рой теперь включен в Docker Core. Это создало некоторые противоречия в обществе и даже разговоры о вилке ядра:
спасибо за подробный ответ. мой следующий вопрос в s.o должен быть включен в автоматическое масштабирование. – user1926275
. Я добавил некоторые дополнительные ссылки относительно обсуждений двух ведущих решений для этого ответа. Это горячо обсуждаемая тема прямо сейчас. – sprockets