Найти тему
BecomeSysa

Docker для самых маленьких (часть 2)

Сегодня продолжим работать с Docker и развернем MediaWiki с базой данных MySQL.

Начнем с конфигурации docker файла:

version: '3'

services:

MediaWiki:

container_name: wiki

image: mediawiki

restart: always

ports:

- 80:80

links:

- database

volumes:

- images:/var/www/html/images

# - ./LocalSettings.php:/var/www/html/LocalSettings.php

database:

container_name: db

image: mysql

restart: always

environment:

MYSQL_DATABASE: mediawiki

MYSQL_USER: wiki

MYSQL_PASSWORD: P@ssw0rd

MYSQL_RANDOM_ROOT_PASSWORD: 'yes'

volumes:

- dbvolume:/var/lib/mysql

volumes:

images:

dbvolume:

external: true

services — основной раздел, где мы будем создавать и описывать наши контейнеры docker. В данном примере сервиса два: MediaWiki - для приложения mediawiki и database - для базы данных;

container_name — имя, которое получит созданный контейнер;

image — имя образа, который будет использоваться для создания контейнера;

restart — поведения контейнера при падении;

ports (внешняя публикация). С помощью данной опции мы можем указывать, на каких портах должен слушать контейнер и на какие порты должны пробрасываться запросы

environment — задаем переменные окружения;

volumes - проброс папок;

links - ссылайтесь на контейнеры в другом сервисе. Укажите либо имя сервиса, либо псевдоним ссылки (SERVICE:ALIAS), либо просто имя сервиса.

Создадим раздел для нашей базы данных:

docker volume create dbvolume

Выполним сборку контейнеров:

docker-compose -f wiki.yml up -d

Проверим работу контейнеров:

-2
-3

В браузере открываем http://<внешний IP адрес машины> и производим настройку MediaWiki

-4
-5
-6

Передадим скаченный файл на сервер:

scp LocalSettings.php altlinux@<адрес сервера>:~/

Изменим конфигурацию контейнера wiki на использование настроек с переданного файла:

-7

Перезапустим контейнер:

docker-compose -f wiki.yml stop

docker-compose -f wiki.yml up -d

-8

Входим в пользователя и видим что Вики успешно установлена:

-9

Основной источник: ссылка