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:
commit
8c1f9a15fd
136
romanova_adelina_lab_1/README.md
Normal file
136
romanova_adelina_lab_1/README.md
Normal 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
|
||||
|
64
romanova_adelina_lab_1/docker-compose.yml
Normal file
64
romanova_adelina_lab_1/docker-compose.yml
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
|
||||
|
||||
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
|
BIN
romanova_adelina_lab_1/docker.png
Normal file
BIN
romanova_adelina_lab_1/docker.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 116 KiB |
Loading…
Reference in New Issue
Block a user