Добавить в корзинуПозвонить
Найти в Дзене

Как развернуть MediaWiki на ALT через Docker Compose

Docker — это платформа контейнеризации, предназначенная для разработки, доставки и запуска приложений в изолированных контейнерах. Контейнеры позволяют запускать приложения вместе со всеми необходимыми библиотеками и зависимостями в одинаковом окружении независимо от используемой системы и инфраструктуры. В Docker контейнеры используют возможности ядра Linux, такие как namespaces и cgroups, для изоляции процессов, сетевых ресурсов и файловых систем. В отличие от виртуальных машин, контейнеры не требуют запуска отдельной гостевой операционной системы, благодаря чему потребляют меньше ресурсов и запускаются значительно быстрее. Основными компонентами Docker являются: Принцип работы Docker основан на использовании образов (images). Образ содержит файловую систему приложения, зависимости и параметры запуска. На основе образа создаётся контейнер — изолированная среда выполнения приложения. Образы могут храниться локально или загружаться из удалённых репозиториев, например Docker Hub. Среди

Docker — это платформа контейнеризации, предназначенная для разработки, доставки и запуска приложений в изолированных контейнерах. Контейнеры позволяют запускать приложения вместе со всеми необходимыми библиотеками и зависимостями в одинаковом окружении независимо от используемой системы и инфраструктуры.

В Docker контейнеры используют возможности ядра Linux, такие как namespaces и cgroups, для изоляции процессов, сетевых ресурсов и файловых систем. В отличие от виртуальных машин, контейнеры не требуют запуска отдельной гостевой операционной системы, благодаря чему потребляют меньше ресурсов и запускаются значительно быстрее.

Основными компонентами Docker являются:

  • Docker Engine — служба управления контейнерами;
  • Docker CLI — интерфейс командной строки;
  • Docker Image — шаблон приложения;
  • Docker Container — экземпляр запущенного образа;
  • Docker Registry — хранилище образов;
  • Docker Compose — инструмент для запуска многоконтейнерных приложений.

Принцип работы Docker основан на использовании образов (images). Образ содержит файловую систему приложения, зависимости и параметры запуска. На основе образа создаётся контейнер — изолированная среда выполнения приложения. Образы могут храниться локально или загружаться из удалённых репозиториев, например Docker Hub.

Среди преимуществ Docker можно выделить:

  • быстрое развёртывание приложений;
  • переносимость между различными системами;
  • изоляцию приложений;
  • снижение потребления ресурсов по сравнению с виртуальными машинами;
  • удобство масштабирования и обновления сервисов;
  • упрощение процессов разработки и тестирования.

Docker широко применяется:

  • в DevOps-практиках;
  • системах непрерывной интеграции и доставки (CI/CD);
  • микросервисной архитектуре;
  • облачной инфраструктуре;
  • тестовых и производственных средах.

В ALT Linux Docker может использоваться для запуска контейнеризированных сервисов, автоматизации развёртывания приложений и построения изолированных сред выполнения.

При использовании Docker важно учитывать вопросы безопасности и хранения данных. Для постоянного хранения информации применяются volumes, а сетевое взаимодействие контейнеров осуществляется через встроенные механизмы виртуальных сетей Docker.

Ниже приведён пример установки и базовой настройки Docker в ALT Linux, а также запуска первого контейнера.

ㅤㅤㅤㅤㅤㅤㅤ

Установим docker и docker compose, и включим их в автозагрузку:
apt-get install docker-engine docker-compose
systemctl enable docker --now

Создадим директорию для наших yaml файлов и зайдем в нее:
mkdir /root/docker
cd /root/docker

Создадим и откроем наш файл:
touch compose.yaml
vim compose.yaml

------------------------------------------------------------------------------------------services:
mediawiki:
container_name: testwiki
image: mediawiki:latest
restart: always
ports:
- "8080:80"
environment:
DB_TYPE: "maria"
DB_HOST: "10.0.3.2"
DB_PORT: "3306"
DB_NAME: "wiki"
DB_USER: "wikiuser"
DB_PASS: "wikipass"
depends_on:
- database
database:
container_name: testwiki
image: mariadb
restart: always
ports:
- "3306:3306"
environment:
MARIADB_DATABASE: "wiki"
MARIADB_USER: "wikiuser"
MARIADB_PASSWORD: "wikipass"
MARIADB_ROOT_PASSWORD: "toor"
---------------------------------------------------------------------------------