Merge pull request 'balakhonov_danila_lab_1' (#15) from balakhonov_danila_lab_1 into main
Reviewed-on: #15
This commit is contained in:
commit
c509e74465
59
balakhonov_danila_lab_1/README.md
Normal file
59
balakhonov_danila_lab_1/README.md
Normal 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-контейнерах.
|
58
balakhonov_danila_lab_1/docker-compose.yaml
Normal file
58
balakhonov_danila_lab_1/docker-compose.yaml
Normal 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
|
Loading…
Reference in New Issue
Block a user