forked from Alexey/DAS_2024_1
129 lines
3.4 KiB
Markdown
129 lines
3.4 KiB
Markdown
# Лабораторная работа №1 - Знакомство с docker и docker-compose
|
||
|
||
## Задание
|
||
|
||
Разверните 3 сервиса на выбор в контейнерах docker с помощью docker-compose, учитывая следующие требования:
|
||
|
||
* Несколько контейнеров.
|
||
* Хотя бы один volume.
|
||
* Хотя бы один порт, проброшенный на хост.
|
||
* Разворачивание системы должно пройти до конца.
|
||
|
||
## Запуск
|
||
|
||
Введение в терминале команды:
|
||
```
|
||
docker-compose up -d
|
||
```
|
||
|
||
# Выбранные сервисы
|
||
|
||
1. ```db``` - система для создания БД
|
||
|
||
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}
|
||
```
|
||
# Скриншот работы
|
||
Панель консоли
|
||
![](1.png "")
|
||
|
||
# ВК
|
||
https://vk.com/video256017065_456239870?list=ln-qWUdZke5z53x940ZHv |