diff --git a/balakhonov_danila_lab_1/README.md b/balakhonov_danila_lab_1/README.md new file mode 100644 index 0000000..fb03807 --- /dev/null +++ b/balakhonov_danila_lab_1/README.md @@ -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-контейнерах. \ No newline at end of file diff --git a/balakhonov_danila_lab_1/docker-compose.yaml b/balakhonov_danila_lab_1/docker-compose.yaml new file mode 100644 index 0000000..68f242b --- /dev/null +++ b/balakhonov_danila_lab_1/docker-compose.yaml @@ -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 \ No newline at end of file