Работа с Docker
Ок гугл, как поднять 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