Merge pull request 'balakhonov_danila_lab_1' (#15) from balakhonov_danila_lab_1 into main

Reviewed-on: Alexey/DAS_2024_1#15
This commit is contained in:
Alexey 2024-09-23 16:55:14 +04:00
commit c509e74465
2 changed files with 117 additions and 0 deletions

View File

@ -0,0 +1,59 @@
# Лабораторная работа номер 1
> Здравствуйте меня зовут Балахонов Данила группа ПИбд-42
>
> *— Балахонов Данила ПИбд-42*
Видео лабораторной работы номер 1 доступно по этой [ссылке](https://drive.google.com/file/d/1Up_JzDcK_TjYLixpfYXN7PhJmOeg_Uck/view?usp=sharing).
## Как запустить лабораторную работу номер 1?
### Необходимые компоненты для запуска лабораторной работы номер 1
> Здесь рассказана установка необходимых компонентов для запуска лабораторной работы номер 1 под дистрибутив GNU/Linux **Ubuntu**.
Для запуска лабораторной работы номер 1 необходимы такие компоненты:
- Git
- Docker
- Docker compose
Чтобы установить **Git**, необходимо ввести данные команды в командную строку:
``` bash
sudo apt-get update
sudo apt-get install git
```
Чтобы установить **Docker** и **Docker compose**, стоит ввести такие команды:
``` bash
# Настройка репозитория Docker
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# Установка Docker и его компонентов
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
### Запуск лабораторной работы номер 1
Для запуска лабораторной работы номер 1 необходимо **склонировать** репозиторий в любую папку и **перейти на ветку** balakhonov_danila_lab_1.
Далее в папке с `docker-compose.yaml` нужно вызвать такую команду:
``` bash
sudo docker-compose up -d
```
Таким образом будут запущены контейнеры в фоновом режиме.
## Какие технологии были использованы?
Для выполнения лабораторной работы номер 1 использовались такие технологии, как: *git*, *docker*, *docker compose*.
Сервисы, выбранные для запуска в docker-compose файле:
- *Gitea* - удобный сервис отслеживания версий разрабатываемого ПО
- *MediaWiki* - сервис создания и ведения электронной энциклопедии
- *PostgreSQL* - база данных, используемая сервисами выше
Системой, на которую были установлены указанные технологии, является Ubuntu 22.
## Что делает лабораторная работа номер 1?
Лабораторная работа номер 1 заключается в написании docker-compose файла для удобного запуска и администрирования сразу нескольких сервисов в docker-контейнерах.

View File

@ -0,0 +1,58 @@
services:
# PostgreSQL
db:
# Образ контейнера PostgreSQL последней версии
image: postgres
# Название контейнера
container_name: db
# Переменные окружения для настройки базы данных
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea
- POSTGRES_DB=gitea
# Настройка корневого каталога, где хранятся данные
# Слева указан каталог компьютера, справа - каталог контейнера
# Нужно для сохранения данных на сервере после отключения контейнера
volumes:
- ./postgres:/var/lib/postgresql/data
# Порт, через который можно будет подключиться к базе данных
ports:
- 5432:5432
# После перезапуска докера всегда запускать этот контейнер
restart: always
# Gitea
gitea:
# Используется Gitea последней версии
image: gitea/gitea
container_name: gitea
# После перезапуска докера всегда запускать этот контейнер
restart: always
volumes:
- ./data:/var/lib/gitea
- ./config:/etc/gitea
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- 3000:3000
- 2222:2222
environment:
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
# Указывается, что этот контейнер запускается только после запуска контейнера db
depends_on:
- db
# MediaWiki
mediawiki:
# Образ контейнера MediaWiki последней версии
image: mediawiki
container_name: mediawiki
restart: always
ports:
- 8080:80
links:
- db
volumes:
- ./images:/var/www/html/images