Зачем нужен Docker
Идея Docker состоит в том, чтобы каждое приложение/сервис/инфраструктуру упаковывать в отдельный изолированный контейнер. При этом каждый контейнер имеет свой набор программного обеспечения, необходимый для корректной работы сервиса.
Например, в одном кластере у вас могут быть контейнеры с веб-сервером, во втором контейнеры с ПО для работы с базами данных, а в третьем языки программирования, на которых написаны ваши приложения. При этом контейнеры "обмениваются" между собой информацией по настроенной для них сети.
Стоит отметить, что ПО в контейнерах запускается в виде процессов только внутри контейнеров, на сам сервер (в корень) оно не устанавливается. Именно поэтому Docker является незаменимым инструментом для разработчиков и администраторов серверов при тестировании приложений и масштабировании инфраструктур.
На виртуальные сервера от SpaceWeb программы Docker и Portainer (популярный графический интерфейс для управления контейнерами) устанавливаются практически в один клик. В этой статье мы установим данные программы на VPS и посмотрим, как работать с Docker через графический интерфейс Portainer.
Заказать VPS c Docker и Portainer
Для заказа VPS с Docker и Portainer перейдите на наш сайт в раздел "VPS".
Выберите подходящий по ресурсам для вашей инфраструктуры тариф и в поле ПО "Docker". Обратите внимание, на данный момент Docker доступен для установки только на дистрибутиве Ubuntu 20.04.
После регистрации и заполнения реквизитов владельца аккаунта вы можете взять виртуальный сервер на бесплатный тест в течение 3 дней или оплатить услугу на нужный вам период. В данном примере мы взяли на тест VPS с тарифом "KVM-10", запуск сервера и автоустановка Docker заняла ~8 минут.
Основы Docker в Portainer
По завершению установки Docker данные для входа и ссылка на Portainer будут отправлены вам на контактную почту.
После авторизации вы увидите главную страницу панели Portainer со список доступных вам кластеров (кластер - набор зависимых между собой стеков, контейнеров, образов ПО и сетей.).
В разделе “Environments” можно добавить новые кластеры под каждую отдельную инфраструктуру/сервис, редактировать уже имеющиеся и объединять их в группы.
В разделе “Users” можно создавать пользователей с определенным набором прав (Админ, пользователь со стандартными правами, только чтение и т.д) и объединять их в группы (разработчики, администраторы). Это полезно в случаях, когда сотрудники вашей компании проектируют инфраструктуру и каждый должен отвечать за тестирование и работу конкретных ее частей.
В разделе “Registries” можно добавлять репозитории с образами программного обеспечения для ваших контейнеров, а также аутентификацию на Docker Hub. Можно загрузить ваш индивидуальный репозиторий с образом ПО или загрузить репозиторий с серверов популярных провайдеров DockerHub, Azure, GitLab, Quay.io, ProGet.
Рассмотрим структуру кластеров на примере созданного по умолчанию после установки кластера “Local”. При нажатии на кластер можно увидеть его “скелет”, который включает кол-во стеков (Stacks), виртуальных контейнеров (Containers), образов программного обеспечения (Image), сетей (Networks) и точек монтирования (Volume).
В разделе “App Templates” можно создать приложение или инфраструктуру по готовому шаблону в пару кликов или добавить собственный шаблон, который вы ранее собрали для своей инфраструктуры. Например, с помощью шаблонов можно быстро запустить контейнер с операционной системой Ubuntu, контейнер с веб-сервером Nginx, контейнер с Node.js для разработки приложений на JavaScript и контейнер с системой управления базами данных MariaDB. Набор шаблонов достаточно велик и универсален, при более простых потребностях можно запустить по шаблону в контейнерах популярные CMS Wordpress, Joomla или Drupal.
В разделе “Stacks” можно добавить стеки технологий для функционирования нужных вам приложений. Для этого нужно указать содержимое стек-файла или загрузить его с компьютера, репозитория.
Например, через раздел “App Templates” по шаблону мы создали стек технологий для полноценного функционирования сайта на CMS Wordpress.
Внутри созданного нами Wordpress-стека (также эта информация доступна в разделе “Containers”) можно изучить запущенные внутри него виртуальные контейнеры, посмотреть по каждому логи и статистику или выполнить консольную команду только внутри нужного вам изолированного контейнера.
В разделе “Images” можно загрузить или использовать доступные образы с программным обеспечением для ваших контейнеров. В нашем примере это образы ПО для функционирования сайта на CMS Wordpress.
В разделе “Networks” вы можно управлять сетями ваших инфраструктур, добавлять новые. Вы можете объединить зависимые контейнеры в одну сеть или распределить их между несколькими сетями.
Раздел “Volumes” нужен для создания точек (путей) монтирования. В нашем примере можно увидеть путь хранения БД для нашего веб-сайта на CMS Wordpress.
Мы рассмотрели основные разделы интерфейса “Portainer”, необходимые для работы с Docker. Первое ваше знакомстве с инструментами данного ПО предлагаем начать с запуска тестового контейнера или стека для работы сайта на Wordpress. Сделать это можно на наших серверах VPS с тестовым периодом в течение 3 дней.
Надеемся эта инструкция была для вас полезной. Следите за нашими новостями, чтобы не пропустить полезный контент!