Merge pull request 'morozov_vladimir_lab_1 is ready' (#132) from morozov_vladimir_lab_1 into main

Reviewed-on: #132
This commit is contained in:
Alexey 2024-11-25 21:06:31 +04:00
commit a4dfbe6a81
3 changed files with 74 additions and 0 deletions

1
morozov_vladimir_lab_1/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
html/

View File

@ -0,0 +1,35 @@
# Лабораторная работа №1 - Знакомство с docker и docker-compose
## Установка средства контейнеризации докер
Для работы с контейнерами и образами докера с официального сайта было скачено приложение Docker Desktop, которое представляет из себя инструмент с графической оболочкой.
## Разворачиваемые сервисы
Для данной лабораторной работы были выбраны следующие сервисы:
- wordpress - сервис для создания контента
- gitea - система гит
- mysql - бд, которая будет использоваться для работы wordpress
- mediawiki - сервис вики
## Описание файла docker-compose.yml
В папке проекта был создан файл `docker-compose.yml`, данный файл позволяет нам настроить наши контейнеры: выбрать образы, которые будут развернуты в контейнерах; назначить порты, через которые можно будет обращаться к контейнерам; создать и назначить тома и прочее. В самом файле все строки содержат комментарии, поясняющие для чего используется та или иная строка.
## Запуск контейнеров
Для того, чтобы запустить все наши контейнеры нужно использовать команду:
``
docker compose up --build
``
Данная команда на основе файла `docker-compose.yml` создаст контейнеры, тома и прочее, если их ранее не было создано. Также данная команды скачает необходимые образы, если их ранее не было скачено или создано.
Также приложение можно запустить через графическую оболочку
## Остановка приложения
Остановить приложение можно через команду:
``
docker compose down
``
Также приложение можно остановить через графическую оболочку
## Работа приложения
Работа приложения представлена в [видео](https://disk.yandex.ru/i/824dXYpFrDs7Nw)

View File

@ -0,0 +1,38 @@
services: #объявляем наши сервисы
wp: #объявляем сервис для wordpress и теперь настраиваем его
image: "wordpress" # объявляем, что для данного сервиса нужен образ wordpress, который будет скачан с удаленного репозитория докера
restart: "on-failure" # устанавливаем настройку, которая будет перезагружать контейнер в случае возникновения ошибки при его работе
ports: # объявляем порты связывающие наш хост и контейнер, запись имеет вид порт_хоста : порт_контейнера
- "8000:80" # через порт 8000 хоста можно будет обращаться к порту 80 данного контейнера
environment: # назначаем переменные текущего контейнера
WORDPRESS_DB_HOST: wordpress_db #переменная бд
WORDPRESS_DB_USER: exampleuser #переменная пользователя бд
WORDPRESS_DB_PASSWORD: examplepass # переменная пароля пользлователя
WORDPRESS_DB_NAME: exampledb #переменная названия бд
volumes: #объявляем тома, которые будут использоваться в контейнере
- wordpress:/var/www/html #назначаем том wordpress
git: ##объявляем сервис для gitea и теперь настраиваем его
image: "gitea/gitea:1.22.3" # назначаем образ
restart: "on-failure" # устанавливаем настройку на перезагрузку контейнера в случае ошибки
environment: # назначаем переменные текущего контейнера
- USER_UID=1000 # переменная id пользователя
- USER_GID=1000 # переменная id группы пользователей
wordpress_db: #объявляем сервис бд для сервиса wordpress
image: "mysql:8.0" # назначаем в качестве образа образ mysql
restart: "always" # устанавливаем перезагрузку сервиса при любом окончании работы контейнера
environment: # назначаем переменные текущего контейнера
MYSQL_DATABASE: exampledb # переменна бд
MYSQL_USER: exampleuser # переменная пользователя бд
MYSQL_PASSWORD: examplepass # переменная пароля бд
MYSQL_RANDOM_ROOT_PASSWORD: '1' # переменная случайного пароля рут пользователя
volumes: # устанавливаем тома
- db:/var/lib/mysql # назначаем том бд
wiki: # объявляем сервис mediawiki
image: mediawiki # назначаем образ
volumes: # объявляем тома
- database:/var/www/data # объявляем том для бд
- ./html:/var/www/html:cached # объявляем еще том верстки
volumes: #объявляем тома, которые могут использоваться сразу несколькими сервисами
wordpress: #том для wordpress
db: # том для бд wordpress
database: # том для бд вики