Docker веб-хостинг - PullRequest
       5

Docker веб-хостинг

0 голосов
/ 04 августа 2020

Я отправляю этот вопрос из-за отсутствия опыта и мне нужны профессиональные предложения. Вопросы в SO в основном связаны с тем, как развернуть или разместить несколько веб-сайтов с использованием Docker, запущенного на одном веб-хосте. Это можно сделать, но идеально ли это для веб-сайтов с умеренным трафиком c.

Я развертываю контейнеры на основе Docker на своем локальном компьютере для разработки. В программном контейнере есть копия основного приложения, а также все зависимости - библиотеки, языки, фреймворки и все остальное.

Мне становится легко просто перенести «docker -compose.yml» или «dockerfile» на любой удаленный веб-сервер. Все программное обеспечение и зависимости будут установлены и будут работать так же, как моя локальная машина.

(Скажем) У меня есть VPS, и я хочу разместить несколько веб-сайтов, используя Docker. Единственное, что мне нужно настроить, это порт, чтобы домены могли быть сопоставлены с портом 80. Для этого мне нужно использовать дополнительный NGINX для маршрутизации.

Но VPS можно использовать для хостинга несколько веб-сайтов без необходимости контейнеризации. Итак, есть ли какие-либо особые преимущества использования Docker на веб-серверах, таких как AWS, Google, Hostgator и др. c. ИЛИ Docker лучше всего или простаивает для разработки только на локальном компьютере, а не для развертывания в Веб-серверы для хостинга.

1 Ответ

0 голосов
/ 05 августа 2020

Основные преимущества docker для простого веб-хостинга imo следующие:

  • изоляция каждый веб-сайт / служба может иметь разные требования к зависимости (можно требуется php 5, еще php 7 и еще nodejs).

  • разделение задач если вы разделите настройку на несколько контейнеров, вы можете легко обновить или заменить одну его часть. (просто рассмотрите установку с двумя веб-сайтами, которым требуется база данных postgres каждому. Если каждый веб-сайт имеет свой собственный контейнер db, у вас не возникнет проблем с изменением версии postgres одного из веб-сайтов, не затрагивая другой. )

  • воспроизводимость вы можете создать образ docker один раз, протестировать его при приемке, продвигать точно такой же образ в промежуточную, а затем в производственную. также вы сможете иметь ту же среду локально, что и на вашем сервере

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

  • безопасность об этом можно поспорить, поскольку сами контейнеры мало что сделают для вы с точки зрения безопасности. Однако из-за более простых обновлений зависимостей разделены сети и c. большинство людей получат более безопасную установку. (просто подумайте о контейнерах db здесь снова, они могут совместно использовать сеть с вашим контейнером приложения / веб-сайта, и нет необходимости открывать порт локально.)

    Обратите внимание, будьте осторожны при сопоставлении портов докеров. Он использует iptables и отменяет настройки большинства брандмауэров (например, ufw) по умолчанию. Здесь есть репо с информацией о том, как этого избежать: https://github.com/chaifeng/ufw-docker

Также существует довольно много проектов, которые автоматизируют маршрутизацию запросов к приложениям. (в данном случае контейнеры) очень приятно и легко. Обычно они также интегрируют правильный способ завершения ssl. Я настоятельно рекомендую изучить traefik , если вы настраиваете веб-сервер с несколькими контейнерами, которые должны быть доступны через порт 80 и 443.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...