105 lines
3.2 KiB
Markdown
105 lines
3.2 KiB
Markdown
|
# Лабораторная работа №1
|
|||
|
## ПИбд-42 Машкова Маргарита
|
|||
|
## Задание
|
|||
|
1. Установить средство контейнеризации docker.
|
|||
|
2. Изучить применение и принципы docker.
|
|||
|
3. Изучить утилиту docker-compose и структуру файла docker-compose.yml.
|
|||
|
4. Развернуть не менее 3х различных сервисов при помощи docker-compose.
|
|||
|
|
|||
|
> Docker Compose использует файл docker-compose.yml для создания и запуска всех сервисов, определенных в конфигурации,
|
|||
|
> с помощью одной команды.
|
|||
|
|
|||
|
## Запуск программы
|
|||
|
В директории с файлом `docker-compose.yml` выполнить команду:
|
|||
|
```
|
|||
|
docker-compose up -d
|
|||
|
```
|
|||
|
|
|||
|
## Разворачиваемые сервисы
|
|||
|
|
|||
|
> - `mediawiki` - это платформа, которая позволяет пользователям создавать и редактировать страницы, а также управлять
|
|||
|
изображениями и мультимедийными файлами.
|
|||
|
> - `wordpress` - популярная система управления контентом.
|
|||
|
> - `drupal` - популярная система управления контентом.
|
|||
|
> - `mysql` - СУБД для создания БД, которую будет использовать сервис wordpress.
|
|||
|
## Описание работы программы
|
|||
|
|
|||
|
### Конфигурация сервиса `mediawiki`:
|
|||
|
```
|
|||
|
mediawiki:
|
|||
|
image: mediawiki
|
|||
|
container_name: mediawiki
|
|||
|
ports:
|
|||
|
- "8081:80"
|
|||
|
volumes:
|
|||
|
- mediawiki-data:/var/www/html/images
|
|||
|
environment:
|
|||
|
- MEDIAWIKI_DB_HOST=db
|
|||
|
- MEDIAWIKI_DB_USER=wikiuser
|
|||
|
- MEDIAWIKI_DB_PASSWORD=wikipassword
|
|||
|
- MEDIAWIKI_DB_NAME=wikidb
|
|||
|
```
|
|||
|
### Конфигурация сервиса `mysql`:
|
|||
|
```
|
|||
|
mysql:
|
|||
|
image: mysql:latest
|
|||
|
container_name: mysql
|
|||
|
volumes:
|
|||
|
- mysql-data:/var/lib/mysql
|
|||
|
environment:
|
|||
|
- MYSQL_DATABASE=wiki_db
|
|||
|
- MYSQL_USER=wiki_user
|
|||
|
- MYSQL_PASSWORD=password
|
|||
|
- MYSQL_ROOT_PASSWORD=password
|
|||
|
```
|
|||
|
### Конфигурация сервиса `wordpress`:
|
|||
|
```
|
|||
|
wordpress:
|
|||
|
depends_on:
|
|||
|
- mysql
|
|||
|
image: wordpress
|
|||
|
container_name: wordpress
|
|||
|
volumes:
|
|||
|
- wordpress-data:/var/www/html
|
|||
|
ports:
|
|||
|
- "8082:80"
|
|||
|
environment:
|
|||
|
- WORDPRESS_DB_HOST=mysql
|
|||
|
- WORDPRESS_DB_NAME=wiki_db
|
|||
|
- WORDPRESS_DB_USER=wiki_user
|
|||
|
- WORDPRESS_DB_PASSWORD=password
|
|||
|
```
|
|||
|
### Конфигурация сервиса `drupal`:
|
|||
|
```
|
|||
|
drupal:
|
|||
|
image: drupal:latest
|
|||
|
container_name: drupal
|
|||
|
ports:
|
|||
|
- "8083:80"
|
|||
|
volumes:
|
|||
|
- drupal_modules:/var/www/html/modules
|
|||
|
- drupal_profiles:/var/www/html/profiles
|
|||
|
- drupal_themes:/var/www/html/themes
|
|||
|
- drupal_sites:/var/www/html/sites
|
|||
|
```
|
|||
|
|
|||
|
## Запуск сервисов
|
|||
|
|
|||
|
Результат выполнения команды `docker-compose up -d`
|
|||
|

|
|||
|
|
|||
|
Созданные контейнеры:
|
|||
|

|
|||
|
|
|||
|
mediawiki:
|
|||
|

|
|||
|
|
|||
|
wordpress:
|
|||
|

|
|||
|
|
|||
|
drupal:
|
|||
|

|
|||
|
|
|||
|
Ссылка на видео:
|
|||
|
https://youtu.be/150uOdQU-7Y
|