- PVSM.RU - https://www.pvsm.ru -
Недавно вышла статья [1] Iron_Butterfly [2], где в числе прочего рассказывается, каким образом возможно запустить мощнейший поисковый движок ElasticSearch внутри Docker-контейнера. Я хочу продолжить этот вектор и рассказать, какие еще задачи возможно решить с помощью Docker-контейнеров используя для этого Plesk и расширение Docker.
В статье мы рассмотрим, как можно решить с помощью нашего Docker extension задачи, которые тяжело решить в Plesk без Docker-контейнеров (или даже невозможно). Данный список задач сформирован на основе популярных вопросов наших пользователей; в качестве пользователей мы рассмотрим владельцев
— Одновременное использование различных версий баз данных;
— Разворачивание Memcached для WordPress;
— Использование собственного облачного Nextcloud хранилища;
— Запуск собственного приложения на Go. Запуск собственного git-репозитория;
— Тестирование новых версий Plesk не мешая работать боевому серверу.
Хочу уточнить, что все примеры в статье выполнены с использованием бесплатной версии расширения Docker (платная версия позволяет управлять сервисом Docker на удаленных серверах).
Прежде чем мы перейдем к конкретным примерам, давайте кратко посмотрим на существующие в текущей версии ограничения и подготовим Plesk для работы с контейнерами.
0. Получите действующий сертификат с помощью Let's Encrypt (это необязательный шаг, я таким образом уберу предупреждение о само-подписанном сертификате);
1. Выберите Extensions в левом меню;
2. Найдите Docker;
3. Нажмите «Install»;
4. Дождитесь окончания процесса установки;
5. Перейдите в расширение. Готово.
Получите действующий сертификат с помощью Let's Encrypt (опционально)
Выберите Extensions в левом меню
Найдите Docker
Нажмите «Install»
Дождитесь окончания процесса установки
Перейдите в расширение. Готово
Скоро мы рассмотрим, как решить перечисленные задачи, но перед этим посмотрим, какие могут стоять задачи перед web-разработчиком.
Давайте представим, что вы разработчик веб-приложений. Сегодня вы начинаете разрабатывать новое веб-приложение, приложение будет сохранять все данные в SQL базу данных. Какую SQL базу данных вы будете использовать? Возможно, вы предпочтете так написать веб-приложение, чтобы оно работало со всеми популярными базами данных, т.к. это поможет привлечь больше клиентов. Итак, какие базы данных вы знаете?
Хорошо, ваше приложение готово, но теперь необходимо протестировать его со всеми этими базами данных. Давайте рассмотрим, каким образом эту задачу можно решить с помощью Plesk, Docker и расширения Docker.
Мы будем использовать официальные контейнеры с Docker Hub:
Рассмотрим по шагам установку одного из контейнеров, допустим MariaDB 10.0:
Повторите шаги по созданию контейнеров для MariaDB 10.1/10.2, MySQL 5.5/5.6/5.7/8.0, PostgreSQL 9.5/9.6.
Найдите доступные контейнеры с MariaDB, выберите необходимую версию
Дождитесь окончания установки
Настройте необходимые параметры
Создайте контейнер и дождитесь, когда он запустится
Повторите шаги по созданию контейнеров
Ниже представлено два варианта возможного использования созданных баз данных:
Немного скриншотов, которые показывают, как выглядит результат на настроенной системе.
Добавляем БД в Plesk
Итоговый получившийся список БД в Plesk
Как это всё выглядит внутри ОС
Еще одна задача, которая может быть актуальная для владельцев сайтов с WordPress и решение которой я бы хотел рассмотреть в данной статье.
Шаги:
Проверьте настройки вашего брандмауэра, вы должны блокировать внешние подключения к memcached (индивидуально)
Найдите и установите контейнер с Memcached
Включите автозапуск и настройте привязку порта
Запустите контейнер
Проверьте, что всё работает
Задача, которая может быть актуальна для небольших организация; вы хотите иметь собственный ресурс для обмена файлами на базе Nextcloud. Эту задачу тоже возможно легко решить.
Шаги:
Найдите и установите контейнер с Nextcloud
Дождитесь, когда он запустится
Настройте правила proxy для Docker в «Websites & Domains»
Откройте web-интерфейс Nextcloud, установите имя и пароль для администратора
Готово. Вы можете использовать Nextcloud
В настоящее время у Plesk нет никаких расширений, позволяющих работать с Go, но вы можете написать приложение на Go и запустить его под Plesk в Docker-контейнере. Я не умею писать на Go, поэтому для наглядности я возьму готовый продукт написанный на Go и покажу, как запустить собственный git-сервис в Plesk.
Найдите контейнер с Gogs
Настройте контейнер с Gogs
Запустите контейнер с Gogs
Укажите начальные настройки для самого Gogs
Готово. Собственный git-сервис запущен и работает
Создадим первый репозиторий. Назовем его… HelloWorld
Давайте установим Plesk как Docker-контейнер в Plesk с расширением Docker! Сразу отвечу на вопрос «Зачем?»:
Найдите контейнер с Plesk
Настройте контейнер с Plesk
Запустите контейнер с Plesk. Готово. Можно проверять
Вместо заключения предлагаю обсудить в комментариях, какие общедоступные контейнеры с Docker Hub вы регулярно используются в повседневной работе, либо наоборот, почему вы отказались от использования публичных контейнеров в своих задачах.
Автор: Alexander Yamshanov
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/mysql/268657
Ссылки в тексте:
[1] статья: https://habrahabr.ru/company/plesk/blog/340274/
[2] Iron_Butterfly: https://habrahabr.ru/users/iron_butterfly/
[3] хостинга: https://www.reg.ru/?rlink=reflink-717
[4] hub.docker.com/_/mysql: https://hub.docker.com/_/mysql/
[5] hub.docker.com/_/mariadb: https://hub.docker.com/_/mariadb/
[6] hub.docker.com/_/postgres: https://hub.docker.com/_/postgres/
[7] Источник: https://habrahabr.ru/post/342440/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.