Merge pull request 'arutunyan_dmitry_lab_1 is ready' (#12) from arutunyan_dmitry_lab_1 into main
Reviewed-on: http://student.git.athene.tech/Alexey/DAS_2023_1/pulls/12
This commit is contained in:
commit
38b1290525
123
arutunyan_dmitry_lab_1/README.md
Normal file
123
arutunyan_dmitry_lab_1/README.md
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
|
||||||
|
## Лабораторная работа 1. Вариант 4.
|
||||||
|
### Задание
|
||||||
|
- Установить средство контейнеризации `docker`.
|
||||||
|
- Изучить применение и принципы `docker`.
|
||||||
|
- Изучить утилиту `docker-compose` и структуру файла `docker-compose.yaml`.
|
||||||
|
- Развернуть не менее 3х различных сервисов при помощи `docker-compose`.
|
||||||
|
|
||||||
|
### Как запустить
|
||||||
|
В директории с файлом характеристик `docker-compose.yaml` выполнить команду:
|
||||||
|
```
|
||||||
|
docker-compose -f docker-compose.yaml up
|
||||||
|
```
|
||||||
|
Это запустит `docker-compose`, который развернёт в общем контейнере 4 контейнера с сервисами по собранным образам.
|
||||||
|
|
||||||
|
### Раззворачиваемые сервисы
|
||||||
|
- `mysql` - СУБД для создания БД, которую будут использовать другие сервисы,
|
||||||
|
- `redmine` - открытая веб-платформа управления проектами и задачами,
|
||||||
|
- `wordpress`- популярная платформа для управления контентом (CMS),
|
||||||
|
- `mediawiki` - свободная и открытая вики-платформа, разработанная для создания и совместного редактирования веб-страниц.
|
||||||
|
|
||||||
|
### Описание работы
|
||||||
|
Структура файла `docker-compose.yaml`:
|
||||||
|
```yaml
|
||||||
|
|_ version:
|
||||||
|
|_ mainproperties:
|
||||||
|
|_ services:
|
||||||
|
|____ serivce1:
|
||||||
|
|________ service1properties:
|
||||||
|
|____ serivce2:
|
||||||
|
|________ service2properties:
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Разворачивание сервиса MySQL
|
||||||
|
Конфигурации сервиса в `docker-compose.yaml`:
|
||||||
|
```yaml
|
||||||
|
mysql:
|
||||||
|
image: mysql
|
||||||
|
container_name: my-mysql-container
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
MYSQL_DATABASE: my_wiki
|
||||||
|
MYSQL_USER: wiki_user
|
||||||
|
MYSQL_PASSWORD: my_secret_password
|
||||||
|
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
|
||||||
|
volumes:
|
||||||
|
- ./data:/var/lib/mysql
|
||||||
|
```
|
||||||
|
Где `image` отвечает за образ сборки, `container_name` указывает имя контейнера, `restart` определяет сценарий перезапуска сервиса, `environment` описывает настройки окружения (в данном случае название БД, пользователя, пароль), `volumes` указывает локальные файлы, необходимые для переноса в сборочный контейнер.
|
||||||
|
|
||||||
|
#### Разворачивание сервиса Redmine
|
||||||
|
Конфигурации сервиса в `docker-compose.yaml`:
|
||||||
|
```yaml
|
||||||
|
redmine:
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
image: redmine
|
||||||
|
container_name: my-redmine-container
|
||||||
|
ports:
|
||||||
|
- 8081:3000
|
||||||
|
volumes:
|
||||||
|
- ./data:/usr/src/redmine/files
|
||||||
|
environment:
|
||||||
|
- REDMINE_DB_MYSQL=mysql
|
||||||
|
- REDMINE_DB_DATABASE=my_wiki
|
||||||
|
- REDMINE_DB_USERNAME=wiki_user
|
||||||
|
- REDMINE_DB_PASSWORD=my_secret_password
|
||||||
|
```
|
||||||
|
Где `depends_on` указывает на перечень зависимых сервисов, после запуска которых данный сервис может быть запущен, `image` отвечает за образ сборки, `container_name` указывает имя контейнера, `ports` указывает порт, на котором сервис будет запущен внутри сети, `volumes` указывает локальные файлы, необходимые для переноса в сборочный контейнер, `environment` описывает настройки окружения (в данном случае хост БД, название БД, пользователя, пароль).
|
||||||
|
|
||||||
|
#### Разворачивание сервиса Wordpress
|
||||||
|
Конфигурации сервиса в `docker-compose.yaml`:
|
||||||
|
```yaml
|
||||||
|
wordpress:
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
image: wordpress
|
||||||
|
container_name: my-wordpress-container
|
||||||
|
ports:
|
||||||
|
- 8082:80
|
||||||
|
volumes:
|
||||||
|
- ./wp-content:/var/www/html/wp-content
|
||||||
|
environment:
|
||||||
|
- WORDPRESS_DB_HOST=mysql
|
||||||
|
- WORDPRESS_DB_USER=wiki_user
|
||||||
|
- WORDPRESS_DB_PASSWORD=my_secret_password
|
||||||
|
- WORDPRESS_DB_NAME=my_wiki
|
||||||
|
```
|
||||||
|
Где `depends_on` указывает на перечень зависимых сервисов, после запуска которых данный сервис может быть запущен, `image` отвечает за образ сборки, `container_name` указывает имя контейнера, `ports` указывает порт, на котором сервис будет запущен внутри сети, `volumes` указывает локальные файлы, необходимые для переноса в сборочный контейнер, `environment` описывает настройки окружения (в данном случае хост БД, название БД, пользователя, пароль).
|
||||||
|
|
||||||
|
#### Разворачивание сервиса MediaWiki
|
||||||
|
Конфигурации сервиса в `docker-compose.yaml`:
|
||||||
|
```yaml
|
||||||
|
mediawiki:
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
image: mediawiki
|
||||||
|
container_name: my-mediawiki-container
|
||||||
|
ports:
|
||||||
|
- 8083:80
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
MW_INSTALL_PATH: /var/www/html
|
||||||
|
MW_USE_INSTALLED: 'true'
|
||||||
|
MW_ADMIN_NAME: admin
|
||||||
|
MW_ADMIN_PASS: my_secret_password
|
||||||
|
MW_DB_PORT: 3306
|
||||||
|
MW_DB_HOST: mysql
|
||||||
|
MW_DB_NAME: my_wiki
|
||||||
|
MW_DB_USER: wiki_user
|
||||||
|
MW_DB_PASS: my_secret_password
|
||||||
|
volumes:
|
||||||
|
- ./config:/var/www/html/config
|
||||||
|
```
|
||||||
|
Где `depends_on` указывает на перечень зависимых сервисов, после запуска которых данный сервис может быть запущен, `image` отвечает за образ сборки, `container_name` указывает имя контейнера, `ports` указывает порт, на котором сервис будет запущен внутри сети, `restart` определяет сценарий перезапуска сервиса, `environment` описывает настройки окружения (в данном случае путь установки, имя админа, порт БД, хост БД, название БД, пользователя, пароль), `volumes` указывает локальные файлы, необходимые для переноса в сборочный контейнер.
|
||||||
|
|
||||||
|
#### Запуск сервисов
|
||||||
|
Выполнение команды docker-compose и log-журнал контейнеров:
|
||||||
|
![](pic1.png "")
|
||||||
|
![](pic2.png "")
|
||||||
|
|
||||||
|
### Видео
|
||||||
|
https://youtu.be/Y7B9pzEn5Sc
|
64
arutunyan_dmitry_lab_1/docker-compose.yaml
Normal file
64
arutunyan_dmitry_lab_1/docker-compose.yaml
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
mysql:
|
||||||
|
image: mysql
|
||||||
|
container_name: my-mysql-container
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
MYSQL_DATABASE: my_wiki
|
||||||
|
MYSQL_USER: wiki_user
|
||||||
|
MYSQL_PASSWORD: my_secret_password
|
||||||
|
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
|
||||||
|
volumes:
|
||||||
|
- ./data:/var/lib/mysql
|
||||||
|
|
||||||
|
redmine:
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
image: redmine
|
||||||
|
container_name: my-redmine-container
|
||||||
|
ports:
|
||||||
|
- 8081:3000
|
||||||
|
volumes:
|
||||||
|
- ./data:/usr/src/redmine/files
|
||||||
|
environment:
|
||||||
|
- REDMINE_DB_MYSQL=mysql
|
||||||
|
- REDMINE_DB_DATABASE=my_wiki
|
||||||
|
- REDMINE_DB_USERNAME=wiki_user
|
||||||
|
- REDMINE_DB_PASSWORD=my_secret_password
|
||||||
|
|
||||||
|
wordpress:
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
image: wordpress
|
||||||
|
container_name: my-wordpress-container
|
||||||
|
ports:
|
||||||
|
- 8082:80
|
||||||
|
volumes:
|
||||||
|
- ./wp-content:/var/www/html/wp-content
|
||||||
|
environment:
|
||||||
|
- WORDPRESS_DB_HOST=mysql
|
||||||
|
- WORDPRESS_DB_USER=wiki_user
|
||||||
|
- WORDPRESS_DB_PASSWORD=my_secret_password
|
||||||
|
- WORDPRESS_DB_NAME=my_wiki
|
||||||
|
|
||||||
|
mediawiki:
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
image: mediawiki
|
||||||
|
container_name: my-mediawiki-container
|
||||||
|
ports:
|
||||||
|
- 8083:80
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
MW_INSTALL_PATH: /var/www/html
|
||||||
|
MW_USE_INSTALLED: 'true'
|
||||||
|
MW_ADMIN_NAME: admin
|
||||||
|
MW_ADMIN_PASS: my_secret_password
|
||||||
|
MW_DB_PORT: 3306
|
||||||
|
MW_DB_HOST: mysql
|
||||||
|
MW_DB_NAME: my_wiki
|
||||||
|
MW_DB_USER: wiki_user
|
||||||
|
MW_DB_PASS: my_secret_password
|
||||||
|
volumes:
|
||||||
|
- ./config:/var/www/html/config
|
BIN
arutunyan_dmitry_lab_1/pic1.png
Normal file
BIN
arutunyan_dmitry_lab_1/pic1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 MiB |
BIN
arutunyan_dmitry_lab_1/pic2.png
Normal file
BIN
arutunyan_dmitry_lab_1/pic2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 772 KiB |
Loading…
Reference in New Issue
Block a user