129 lines
3.4 KiB
Markdown
129 lines
3.4 KiB
Markdown
|
# Лабораторная работа №2 - Знакомство с docker и docker-compose
|
|||
|
|
|||
|
## Задание
|
|||
|
|
|||
|
Разверните 3 сервиса на выбор в контейнерах docker с помощью docker-compose, учитывая следующие требования:
|
|||
|
|
|||
|
* Несколько контейнеров.
|
|||
|
* Хотя бы один volume.
|
|||
|
* Хотя бы один порт, проброшенный на хост.
|
|||
|
* Разворачивание системы должно пройти до конца.
|
|||
|
|
|||
|
## Запуск
|
|||
|
|
|||
|
Введение в терминале команды:
|
|||
|
```
|
|||
|
docker-compose up -d
|
|||
|
```
|
|||
|
|
|||
|
# Выбранные сервисы
|
|||
|
|
|||
|
1. ```db``` - самая новая версия БД MaraiDB
|
|||
|
|
|||
|
2. ```phpmyadmin``` - система управления базой данных
|
|||
|
|
|||
|
3. ```mediawiki``` - движок вики
|
|||
|
|
|||
|
4. ```wordpress``` - платформа для управления контентом
|
|||
|
|
|||
|
|
|||
|
## Описание работы:
|
|||
|
|
|||
|
Были развёрнуты следующие сервисы:
|
|||
|
|
|||
|
### phpmyadmin
|
|||
|
|
|||
|
```
|
|||
|
phpmyadmin:
|
|||
|
depends_on:
|
|||
|
- db
|
|||
|
image: phpmyadmin
|
|||
|
hostname: php_my_admin
|
|||
|
container_name: php_my_admin
|
|||
|
volumes: # см. конец файла
|
|||
|
- php_my_admin_data:/var/www/html
|
|||
|
ports:
|
|||
|
- 8080:80
|
|||
|
restart: always
|
|||
|
environment:
|
|||
|
PMA_ARBITRARY: 1
|
|||
|
TZ: "Europe/Moscow"
|
|||
|
PMA_HOST: ${DB_HOST}
|
|||
|
PMA_USER : ${DB_USER}
|
|||
|
PMA_PASSWORD : ${DB_PASSWORD}
|
|||
|
```
|
|||
|
|
|||
|
Этот код представляет собой часть файла конфигурации ```Docker Compose```, который используется для управления многоконтейнерными приложениями в Docker.
|
|||
|
|
|||
|
#### Объяснение работы кода:
|
|||
|
|
|||
|
Эта строка отвечает за образ сброки:
|
|||
|
```
|
|||
|
image: phpmyadmin
|
|||
|
```
|
|||
|
Задание имени контейнера:
|
|||
|
```
|
|||
|
container_name: php_my_admin
|
|||
|
```
|
|||
|
Проброс портов:
|
|||
|
```
|
|||
|
ports:
|
|||
|
- 8080:80
|
|||
|
```
|
|||
|
Тома для хранения данных:
|
|||
|
```
|
|||
|
volumes:
|
|||
|
- .php_my_admin_data:/var/www/html
|
|||
|
|
|||
|
```
|
|||
|
Переменные окружения для Drupal
|
|||
|
```
|
|||
|
environment:
|
|||
|
PMA_ARBITRARY: 1
|
|||
|
TZ: "Europe/Moscow"
|
|||
|
PMA_HOST: ${DB_HOST}
|
|||
|
PMA_USER : ${DB_USER}
|
|||
|
PMA_PASSWORD : ${DB_PASSWORD}
|
|||
|
|
|||
|
```
|
|||
|
Аналогично со другими сервисами:
|
|||
|
|
|||
|
### mediawiki
|
|||
|
|
|||
|
```
|
|||
|
image: mediawiki:latest # образ MediaWiki
|
|||
|
container_name: mediawiki_app
|
|||
|
volumes: # см. конец файла
|
|||
|
- ./mediawiki_data:/var/www/html/mediawiki
|
|||
|
ports:
|
|||
|
- "8088:80"
|
|||
|
restart: always
|
|||
|
```
|
|||
|
|
|||
|
### Wordpress
|
|||
|
|
|||
|
```
|
|||
|
depends_on:
|
|||
|
- db
|
|||
|
image: wordpress:latest
|
|||
|
hostname: wp_app
|
|||
|
container_name: wp_app
|
|||
|
volumes: # см. конец файла
|
|||
|
- wordpress_data:/var/www/html
|
|||
|
ports:
|
|||
|
- "8000:80"
|
|||
|
restart: always
|
|||
|
user: www-data
|
|||
|
environment: # секция настроек для подключения wordpress к БД
|
|||
|
TZ: "Europe/Moscow"
|
|||
|
WORDPRESS_DB_HOST: ${DB_HOST}
|
|||
|
WORDPRESS_DB_USER: ${DB_USER}
|
|||
|
WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
|
|||
|
WORDPRESS_DB_NAME: ${DB_NAME}
|
|||
|
```
|
|||
|
# Скриншот работы
|
|||
|
Панель консоли
|
|||
|

|
|||
|
|
|||
|
# ВК
|
|||
|
https://vk.com/video256017065_456239870?list=ln-qWUdZke5z53x940ZHv
|