126 lines
2.9 KiB
Markdown
126 lines
2.9 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
|
||
|
||
```
|
||
|
||
# Скриншоты работы программы:
|
||
|
||
Запуск программы в терминале
|
||
![](image_lab_1.png "")
|
||
|
||
# Видеозапись работы программмы
|
||
|
||
https://vkvideo.ru/video186826232_456239552
|