forked from Alexey/DAS_2024_1
Merge pull request 'vaksman_valerya_lab_1' (#5) from vaksman_valerya_lab_1 into main
Reviewed-on: Alexey/DAS_2024_1#5
This commit is contained in:
commit
46b8ecfc54
4
vaksman_valerya_lab_1/.env
Normal file
4
vaksman_valerya_lab_1/.env
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
DB_HOST = db
|
||||||
|
DB_USER = wordpress
|
||||||
|
DB_PASSWORD = wordpress
|
||||||
|
DB_NAME = wordpress
|
1
vaksman_valerya_lab_1/.gitignote
Normal file
1
vaksman_valerya_lab_1/.gitignote
Normal file
@ -0,0 +1 @@
|
|||||||
|
mediawiki_data/
|
BIN
vaksman_valerya_lab_1/1.png
Normal file
BIN
vaksman_valerya_lab_1/1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 75 KiB |
129
vaksman_valerya_lab_1/README.md
Normal file
129
vaksman_valerya_lab_1/README.md
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
# Лабораторная работа №1 - Знакомство с 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}
|
||||||
|
```
|
||||||
|
# Скриншот работы
|
||||||
|
Панель консоли
|
||||||
|
![](1.png "")
|
||||||
|
|
||||||
|
# ВК
|
||||||
|
https://vk.com/video256017065_456239870?list=ln-qWUdZke5z53x940ZHv
|
66
vaksman_valerya_lab_1/docker-compose.yaml
Normal file
66
vaksman_valerya_lab_1/docker-compose.yaml
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
services:
|
||||||
|
db: # контейнер базы данных
|
||||||
|
image: mariadb:latest # самая свежая версия MySql
|
||||||
|
hostname: wp_database # хост контейнера внутри стистемы докер
|
||||||
|
container_name: wp_database # имя контейнера с системе docker
|
||||||
|
volumes: # см. конец файла
|
||||||
|
- db_data:/var/lib/mysql
|
||||||
|
restart: always
|
||||||
|
environment: # cекция настроек для БД
|
||||||
|
TZ: "Europe/Moscow"
|
||||||
|
MYSQL_ROOT_PASSWORD: somewordpress
|
||||||
|
MYSQL_DATABASE: ${DB_NAME}
|
||||||
|
MYSQL_USER: ${DB_USER}
|
||||||
|
MYSQL_PASSWORD: ${DB_PASSWORD}
|
||||||
|
|
||||||
|
phpmyadmin: # СУБД для БД
|
||||||
|
depends_on: # запускаем после MySql
|
||||||
|
- 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}
|
||||||
|
|
||||||
|
wordpress: # контейнер wordpress
|
||||||
|
depends_on: # запускаем после MySql
|
||||||
|
- db
|
||||||
|
image: wordpress:latest # самая свежая версия MySql
|
||||||
|
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}
|
||||||
|
|
||||||
|
mediawiki: # контейнер mediawiki
|
||||||
|
image: mediawiki:latest # образ MediaWiki
|
||||||
|
container_name: mediawiki_app
|
||||||
|
volumes: # см. конец файла
|
||||||
|
- ./mediawiki_data:/var/www/html/mediawiki
|
||||||
|
ports:
|
||||||
|
- "8088:80"
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
volumes: # для локального хранения сессионных данных из работы контейнеров
|
||||||
|
db_data: {}
|
||||||
|
wordpress_data: {}
|
||||||
|
php_my_admin_data: {}
|
||||||
|
mediawiki: {}
|
Loading…
Reference in New Issue
Block a user