88 lines
3.1 KiB
Markdown
88 lines
3.1 KiB
Markdown
|
# Лабораторная работа №1 - Знакомство с docker и docker-compose
|
|||
|
|
|||
|
## Задание:
|
|||
|
|
|||
|
1. Установить средство контейнеризации docker.
|
|||
|
2. Изучить применение и принципы docker.
|
|||
|
3. Изучить утилиту docker-compose и структуру файла docker-compose.yml.
|
|||
|
4. Развернуть не менее 3х различных сервисов при помощи docker-compose.
|
|||
|
|
|||
|
Требования и docker-compose:
|
|||
|
|
|||
|
* Несколько контейнеров.
|
|||
|
* Хотя бы один volume.
|
|||
|
* Хотя бы один порт, проброшенный на хост.
|
|||
|
|
|||
|
|
|||
|
## Выполнение работы
|
|||
|
|
|||
|
Были развернуты 3 сервиса через docker-compose:
|
|||
|
|
|||
|
Предлагается развернуть не менее 3х сервисов через docker-compose из списка ниже:
|
|||
|
|
|||
|
1. **redmine**
|
|||
|
Система учёта багов, т.е. баг-трекер.
|
|||
|
2. **wordpress**
|
|||
|
Популярная система управления контентом.
|
|||
|
3. **gitea**
|
|||
|
Сервис для хранения репозиториев git, на котором работает этот репозиторий.
|
|||
|
|
|||
|
|
|||
|
## Скрин запуска
|
|||
|
|
|||
|
Панель консоли
|
|||
|
![](1.png "")
|
|||
|
|
|||
|
## Объяснение работы кода:
|
|||
|
|
|||
|
## WordPress:
|
|||
|
|
|||
|
1. Эта строка отвечает за образ сборки:
|
|||
|
|
|||
|
image: wordpress:latest
|
|||
|
|
|||
|
Используем последний официальный образ WordPress.
|
|||
|
|
|||
|
2. Задание имени контейнера:
|
|||
|
|
|||
|
container_name: wordpress
|
|||
|
|
|||
|
Устанавливается имя контейнера как wordpress.
|
|||
|
|
|||
|
3. Проброс портов:
|
|||
|
|
|||
|
Порт 80 контейнера пробрасывается на порт 8080 хоста.
|
|||
|
|
|||
|
4. Тома для хранения данных:
|
|||
|
|
|||
|
volumes:
|
|||
|
- wordpress_data:/var/www/html
|
|||
|
|
|||
|
Том wordpress_data монтируется в директорию /var/www/html контейнера для хранения данных WordPress.
|
|||
|
|
|||
|
5. Переменные окружения для WordPress:
|
|||
|
|
|||
|
environment:
|
|||
|
WORDPRESS_DB_HOST: db
|
|||
|
WORDPRESS_DB_USER: example_user
|
|||
|
WORDPRESS_DB_PASSWORD: example_password
|
|||
|
WORDPRESS_DB_NAME: example_db
|
|||
|
|
|||
|
Здесь задаются параметры для подключения к базе данных:
|
|||
|
|
|||
|
WORDPRESS_DB_HOST: адрес базы данных (контейнер с именем db).
|
|||
|
WORDPRESS_DB_USER: имя пользователя базы данных.
|
|||
|
WORDPRESS_DB_PASSWORD: пароль пользователя базы данных.
|
|||
|
WORDPRESS_DB_NAME: имя базы данных.
|
|||
|
|
|||
|
6. Зависимость от базы данных:
|
|||
|
|
|||
|
depends_on: db
|
|||
|
|
|||
|
Указываем, что WordPress зависит от контейнера с базой данных (db), который должен запуститься первым.
|
|||
|
|
|||
|
Остальные сервисы развернуты по аналогии.
|
|||
|
|
|||
|
## Видео по ссылку:
|
|||
|
|
|||
|
https://disk.yandex.ru/i/EVeX-9zD7H4Aog
|