137 lines
3.5 KiB
Markdown
137 lines
3.5 KiB
Markdown
# Лабораторная работа №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
|
||
|