2016-09-13 12 views
2

Мне не хватило мужества, чтобы начать использовать докер сейчас. Я чувствую, что пришел из прошлого века. Прежде чем приступать к работе, я хочу убрать свои сомнения относительно докера. Мой вопрос в основном касается развертывания/запуска изображений докеров в облачной среде или среде хостинга.Как использовать Docker на облаке или датацентре

  • Могу ли я построить Docker изображение с любым типом сервера (например. Wildfly, скумбриевидный гидролик) и/или сервера баз данных (например, MySQL, Oracle) и он будет работать на Docker включен облака/центров обработки данных?
  • Если да, то как насчет постоянных данных, таких как файлы базы данных и статические хранилища (например, изображения, загруженные документы, журналы), которые хранятся в изображениях докеров или где-то еще? Что будет с этими файлами при обновлении моего приложения и повторном развертывании нового изображения?

Я прочитал сообщения о том, что такое докер, но я не нашел конкретного ответа. Прости меня за то, что я не делаю достаточно гуглинга.

ответ

2

Я запустил докер на 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. Это создало некоторые противоречия в обществе и даже разговоры о вилке ядра:

+0

спасибо за подробный ответ. мой следующий вопрос в s.o должен быть включен в автоматическое масштабирование. – user1926275

+0

. Я добавил некоторые дополнительные ссылки относительно обсуждений двух ведущих решений для этого ответа. Это горячо обсуждаемая тема прямо сейчас. – sprockets

0

Я опыт работает докер на Alibaba облака и AWS. Я не видел никакой разницы в работе с докером на обоих облачных провайдерах. Изображения Docker можно создавать одинаково на всех платформах Linux независимо от поставщика облачных вычислений. Тем не менее, постоянство данных необходимо заботиться, используя объемы докеров. Тем не менее, рекомендуется использовать управляемые службы, такие как RDS в облаке Alibaba для баз данных, вместо использования докеров.

0

Могу ли я построить Docker изображение с любым типом сервера (например. Wildfly, скумбриевидного гидролика) и/или сервер баз данных (например, MySQL, Oracle) и он будет работать на Docker позволил облако/центров обработки данных?

Вы можете создавать свои собственные изображения Docker или использовать решения, которые уже предварительно упакованы и проверены облачными провайдерами. Например, здесь находится auto-clustering Docker-based implementation of GlassFish, который можно запускать и управлять на Jalastic PaaS.

Если это да, как о постоянных DATAS как файлы базы данных и статических хранилищ (например. Изображения, загруженные документы, журналы) те, которые хранятся в докеров изображений или где-либо еще? Что произойдет с этими файлами, когда Я обновляю свое приложение и переустанавливаю новое изображение?

С вышеуказанным кластером все данные хранятся внутри контейнеров и остаются без изменений после перезапуска. В качестве опции вы также можете подключить отдельный контейнер хранения данных, если хотите поделиться им в других контейнерах.