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:
commit
a4dfbe6a81
1
morozov_vladimir_lab_1/.gitignore
vendored
Normal file
1
morozov_vladimir_lab_1/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
html/
|
35
morozov_vladimir_lab_1/README.md
Normal file
35
morozov_vladimir_lab_1/README.md
Normal 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)
|
||||
|
38
morozov_vladimir_lab_1/docker-compose.yml
Normal file
38
morozov_vladimir_lab_1/docker-compose.yml
Normal 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: # том для бд вики
|
Loading…
Reference in New Issue
Block a user