forked from Alexey/DAS_2024_1
126 lines
2.8 KiB
Markdown
126 lines
2.8 KiB
Markdown
|
# Лабораторная работа №1 - Знакомство с docker и docker-compose
|
|||
|
|
|||
|
## Задание
|
|||
|
|
|||
|
Развернуть 3 сервиса в контейнерах docker через docker-compose.
|
|||
|
|
|||
|
Необходимые требования:
|
|||
|
|
|||
|
* Несколько контейнеров.
|
|||
|
* Хотя бы один volume.
|
|||
|
* Хотя бы один порт, проброшенный на хост.
|
|||
|
* Разворачивание системы должно пройти до конца.
|
|||
|
|
|||
|
## Запуск работы:
|
|||
|
|
|||
|
Работа программы начинается после ввода в терминале команды:
|
|||
|
```
|
|||
|
docker-compose up -d
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
## Описание программы:
|
|||
|
|
|||
|
Сначала задаем основную структуру ```services:```. В этом разделе определяются сервисы, которые будут работать вместе.
|
|||
|
|
|||
|
Сервисы:
|
|||
|
|
|||
|
### mediawiki
|
|||
|
|
|||
|
```
|
|||
|
mediawiki:
|
|||
|
image: mediawiki:1.35
|
|||
|
ports:
|
|||
|
- "8080:80"
|
|||
|
volumes:
|
|||
|
- ./mediawiki-images:/var/www/html/images
|
|||
|
|
|||
|
```
|
|||
|
Задаем образ сборки, указываем используемую версию:
|
|||
|
```
|
|||
|
image: mediawiki:1.35
|
|||
|
|
|||
|
```
|
|||
|
Указываем порт:
|
|||
|
```
|
|||
|
ports:
|
|||
|
- "8080:80"
|
|||
|
|
|||
|
```
|
|||
|
Указываем том для хранения данных:
|
|||
|
```
|
|||
|
volumes:
|
|||
|
- ./mediawiki-images:/var/www/html/images
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
### redmine
|
|||
|
|
|||
|
Для сервиса redmine код будет выглядеть аналогично сервису mediawiki:
|
|||
|
|
|||
|
```
|
|||
|
redmine: # определение сервиса redmine
|
|||
|
image: redmine:latest # образ redmine последней версии
|
|||
|
ports: # проброс порта
|
|||
|
- "8082:3000"
|
|||
|
volumes: # настройки тома
|
|||
|
- ./redmine/files:/usr/src/redmine/files
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
### wordpress
|
|||
|
|
|||
|
```
|
|||
|
wordpress:
|
|||
|
image: wordpress:latest
|
|||
|
ports:
|
|||
|
- "8081:80"
|
|||
|
environment:
|
|||
|
- WORDPRESS_DB_HOST=db_wp
|
|||
|
- WORDPRESS_DB_USER=admin
|
|||
|
- WORDPRESS_DB_PASSWORD=admin123
|
|||
|
- WORDPRESS_DB_NAME=wpdb
|
|||
|
volumes:
|
|||
|
- ./wordpress:/var/www/html
|
|||
|
depends_on:
|
|||
|
- db_wp
|
|||
|
|
|||
|
```
|
|||
|
Для сервиса wordpress добавятся переменные окружения
|
|||
|
```
|
|||
|
environment:
|
|||
|
- WORDPRESS_DB_HOST=db_wp
|
|||
|
- WORDPRESS_DB_USER=admin
|
|||
|
- WORDPRESS_DB_PASSWORD=admin123
|
|||
|
- WORDPRESS_DB_NAME=wpdb
|
|||
|
volumes:
|
|||
|
|
|||
|
```
|
|||
|
и зависимости
|
|||
|
```
|
|||
|
depends_on:
|
|||
|
- db_wp
|
|||
|
|
|||
|
```
|
|||
|
А также база данных
|
|||
|
|
|||
|
```
|
|||
|
db_wp:
|
|||
|
image: mysql:5.7
|
|||
|
environment:
|
|||
|
- MYSQL_ROOT_PASSWORD=rootpassword
|
|||
|
- MYSQL_DATABASE=wpdb
|
|||
|
- MYSQL_USER=admin
|
|||
|
- MYSQL_PASSWORD=admin123
|
|||
|
volumes:
|
|||
|
- db_wp-data:/var/lib/mysql
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
# Скриншоты работы программы:
|
|||
|
|
|||
|
Запуск программы в терминале
|
|||
|
![](lab_1.png "")
|
|||
|
|
|||
|
# Видеозапись работы программмы
|
|||
|
https://vk.com/video174596752_456239390
|