Работа с Docker

Материал из Wikibebra
Версия от 18:59, 19 мая 2025; Mayorovv (обсуждение | вклад) (Новая страница: « Ок гугл, как поднять Docker? '''Docker''' — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации, контейнеризатор приложений. Позволяет «упаковать» приложение со всем своим окружением<sup>[а...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску
Ок гугл, как поднять Docker?


Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации, контейнеризатор приложений. Позволяет «упаковать» приложение со всем своим окружением[англ.] и зависимостями в контейнер, который может быть развёрнут на любой Linux-системе с поддержкой контрольных групп в ядре, а также предоставляет набор команд для управления этими контейнерами. Изначально использовал возможности LXC, с 2015 года начал использовать собственную библиотеку, абстрагирующую виртуализационные возможности ядра Linux — libcontainer. С появлением Open Container Initiative начался переход от монолитной к модульной архитектуре.

Разрабатывается и поддерживается одноимённой компанией-стартапом, распространяется в двух редакциях — общественной (Community Edition) по лицензии Apache 2.0 и для организаций (Enterprise Edition) по проприетарной лицензии. Написан на языке Go.

История

Проект начат как внутренняя собственническая разработка компании dotCloud, основанной Соломоном Хайксом (Solomon Hykes) в 2008 году с целью построения публичной PaaS-платформы с поддержкой различных языков программирования. Наряду с Хайксом в первоначальной разработке значительное участие приняли инженеры dotCloud Андреа Лудзарди (Andrea Luzzardi) и Франсуа-Ксавье Бурле (François-Xavier Bourlet).

В марте 2013 года код Docker'а был опубликован под лицензией Apache 2.0. В июне 2013 года генеральным директором в dotCloud приглашён Бен Голуб (англ. Ben Golub), ранее руководивший фирмой Gluster[англ.] (разрабатывавшей технологию распределённого хранения GlusterFS и поглощённой за 136 млн $ Red Hat в 2011 году). В октябре 2013 года, подчёркивая смещение фокуса к новой ключевой технологии, dotCloud переименована в Docker (при этом PaaS-платформа сохранена под прежним названием — dotCloud).

В октябре 2013 года выпущен релиз Havana тиражируемой IaaS-платформы OpenStack, в котором реализована поддержка Docker (как драйвер для OpenStack Nova). С ноября 2013 года частичная поддержка Docker включена в дистрибутив Red Hat Enterprise Linux версии 6.5 и полная — в 20-ю версию дистрибутива Fedora, ранее было достигнуто соглашение с Red Hat о включении с 2014 года Docker в тиражируемую PaaS-платформу OpenShift. В декабре 2013 года объявлено о поддержке развёртывания Docker-контейнеров в среде Google Compute Engine[англ.].

С 2014 года ведутся работы по включению поддержки Docker в среду управления фреймворка распределённых приложений Hadoop; по результатам тестирования вариантов платформы виртуализации для Hadoop, проведённом в мае 2014 года, Docker показал на основных операциях (по массовому созданию, перезапуску и уничтожению виртуальных узлов) существенно более высокую производительность, нежели KVM, в частности, на тесте массового создания виртуальных вычислительных узлов прирост потребления процессорных ресурсов в Docker зафиксирован в 26 раз ниже, чем в KVM, а прирост потребления ресурсов оперативной памяти — втрое ниже.

С 2017 года вдобавок к свободно распространяемой под лицензией Apache 2.0 редакции продукта выпускается редакция для организаций, продаваемая по ценам от 750 $ до 2 тыс. $ в год на узел в зависимости от доступных функций.

Базовая настройка

* Для начала установки Docker и настройки его работы с Docker Compose, выполните команду apt-get update && apt-get install docker-compose для обновления системных пакетов и установки Docker Compose. После установки, добавьте службу Docker в автозагрузку системы, используя команду systemctl enable --now docker, что обеспечит автоматический запуск Docker при загрузке системы. Для предоставления прав доступа к Docker пользователю, выполните команду usermod -aG docker вашПользователь, где вашПользователь — это имя вашего пользователя, чтобы добавить его в группу docker, что позволит работать с Docker без использования sudo. Для дальнейшего удобства настройки создайте директорию в домашнем каталоге пользователя командой mkdir /home/вашПользователь/mediawiki-separate-containers/, где вашПользователь — имя вашего пользователя, а затем создайте в этой директории файл конфигурации docker-compose.yml с помощью команды touch docker-compose.yml.

Docker Compose — это инструментальное средство, входящее в состав Docker. Оно предназначено для решения задач, связанных с развёртыванием проектов.

MariaDB — это система управления реляционными базами данных, являющаяся форком MySQL. Она была создана сообществом разработчиков и поддерживается коммерчески, с целью сохранения свободного и открытого программного обеспечения под лицензией GNU GPL. Разработка MariaDB началась из-за опасений относительно приобретения MySQL компанией Oracle, и она стремится оставаться полностью совместимой с MySQL, включая API и командные интерфейсы, чтобы легко заменять MySQL в существующих системах . MariaDB широко используется во многих популярных проектах, таких как Wikipedia, WordPress.com и Google, благодаря своей надежности и производительности.

Для развертывания службы MariaDB в Docker и последующего получения IP-адреса для работы базы данных, необходимо выполнить несколько ключевых шагов. Вначале требуется войти в контейнер MariaDB с использованием команды docker exec -it mariadb bash. Если по имени контейнера вход не удается, следует использовать идентификатор контейнера вместо его имени. После успешного входа в контейнер, выполните команду hostname -i для получения IP-адреса контейнера, который необходимо сохранить для дальнейшего использования. Завершив работу с контейнером, выйдите из него с помощью команды exit.

Для продолжения настройки, откройте веб-браузер и перейдите по адресу http://ipСервера:8080, следуя инструкциям, представленным на сайте. При настройке базы данных укажите имя базы данных, соответствующие данные из файла docker-compose.yml, а также IP-адрес, полученный ранее с помощью команды hostname -i. После завершения настройки, скачайте файл LocalSettings.php. Затем войдите в контейнер MediaWiki с помощью команды docker exec -it mediawiki bash. Если вы не находитесь в директории сайта, перейдите в /var/www/html, где убедитесь в наличии файла index.html. Создайте файл LocalSettings.php с помощью команды touch LocalSettings.php, затем установите текстовый редактор nano с помощью команд apt-get update && apt-get install nano. Откройте файл LocalSettings.php и скопируйте содержимое из ранее скачанного файла. Сохраните изменения и перезапустите службу Apache с помощью команды service apache2 restart. Выйдите из контейнера и убедитесь, что контейнер MediaWiki активен, проверив список запущенных контейнеров с помощью команды docker ps. Если контейнер не активен, запустите его с помощью команды docker compose -f docker-compose.yml up -d