Merge pull request 'romanova_adelina_lab_1 is ready' (#23) from romanova_adelina_lab_1 into main

Reviewed-on: http://student.git.athene.tech/Alexey/DAS_2023_1/pulls/23
This commit is contained in:
Alexey 2023-12-05 22:16:34 +04:00
commit 8c1f9a15fd
3 changed files with 200 additions and 0 deletions

View File

@ -0,0 +1,136 @@
# Лабораторная работа №1 - Знакомство с docker и docker-compose
## Задание
Разверните 3 сервиса на выбор в контейнерах docker с помощью docker-compose, учитывая следующие требования:
* Несколько контейнеров.
* Хотя бы один volume.
* Хотя бы один порт, проброшенный на хост.
* Разворачивание системы должно пройти до конца.
## Запуск
Введение в терминале команды:
```
docker-compose up -d
```
# Выбранные сервисы
 1. ```mysql``` - система для создания БД
 2. ```drupal``` - популярная система управления контентом
 3. ```gitea``` - сервис для хранения репозиториев git, на котором работает этот репозиторий
 4. ```wordpress``` - платформа для управления контентом
## Описание работы:
Были развёрнуты следующие сервисы:
### Drupal
```
drupal:
depends_on:
- mysql
image: drupal
container_name: my-drupal-container
ports:
- 8084:80
volumes:
- ./drupal-modules:/var/www/html/modules
- ./drupal-profiles:/var/www/html/profiles
- ./drupal-themes:/var/www/html/themes
environment:
- DRUPAL_DB_HOST=mysql
- DRUPAL_DB_USER=wiki_user
- DRUPAL_DB_PASSWORD=my_secret_password
- DRUPAL_DB_NAME=my_wiki
```
Этот код представляет собой часть файла конфигурации ```Docker Compose```, который используется для управления многоконтейнерными приложениями в Docker.
#### Объяснение работы кода:
Эта строка отвечает за образ сброки:
```
image: drupal
```
Задание имени контейнера:
```
container_name: my-drupal-container
```
Проброс портов:
```
ports:
- 8084:80
```
Тома для хранения данных:
```
volumes:
- ./drupal-modules:/var/www/html/modules
- ./drupal-profiles:/var/www/html/profiles
- ./drupal-themes:/var/www/html/themes
```
Переменные окружения для Drupal
```
environment:
- DRUPAL_DB_HOST=mysql
- DRUPAL_DB_USER=wiki_user
- DRUPAL_DB_PASSWORD=my_secret_password
- DRUPAL_DB_NAME=my_wiki
```
Аналогично со следующими сервисами:
### Gitea
```
depends_on:
- mysql
image: gitea/gitea
container_name: my-gitea-container
ports:
- 8085:3000
volumes:
- ./gitea:/data
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=mysql
- DB_HOST=mysql:3306
- DB_NAME=my_wiki
- DB_USER=wiki_user
- DB_PASSWORD=my_secret_password
- ROOT_URL=http://localhost:8085
```
### Wordpress
```
depends_on:
- mysql
image: wordpress
container_name: my-wordpress-container
ports:
- 8086: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
```
# Скриншот работы
Запущенный контейнер в Docker
![](docker.png "")
# Youtube
https://youtu.be/slOXP6pHBsM

View 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
drupal:
depends_on:
- mysql
image: drupal
container_name: my-drupal-container
ports:
- 8084:80
volumes:
- ./drupal-modules:/var/www/html/modules
- ./drupal-profiles:/var/www/html/profiles
- ./drupal-themes:/var/www/html/themes
environment:
- DRUPAL_DB_HOST=mysql
- DRUPAL_DB_USER=wiki_user
- DRUPAL_DB_PASSWORD=my_secret_password
- DRUPAL_DB_NAME=my_wiki
gitea:
depends_on:
- mysql
image: gitea/gitea
container_name: my-gitea-container
ports:
- 8085:3000
volumes:
- ./gitea:/data
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=mysql
- DB_HOST=mysql:3306
- DB_NAME=my_wiki
- DB_USER=wiki_user
- DB_PASSWORD=my_secret_password
- ROOT_URL=http://localhost:8085
wordpress:
depends_on:
- mysql
image: wordpress
container_name: my-wordpress-container
ports:
- 8086: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

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB