Compare commits
2 Commits
06990fa209
...
a4dfbe6a81
Author | SHA1 | Date | |
---|---|---|---|
a4dfbe6a81 | |||
018a64ff09 |
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