DAS_2024_1/novopolcev_alexander_lab_1
2024-12-04 10:46:19 +04:00
..
1.png novopolcev_alexander_lab_1 is ready 2024-12-04 10:46:19 +04:00
docker-compose.yml novopolcev_alexander_lab_1 is ready 2024-12-04 10:46:19 +04:00
README.md novopolcev_alexander_lab_1 is ready 2024-12-04 10:46:19 +04:00

Лабораторная работа №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, на котором работает этот репозиторий.

Скрин запуска

Панель консоли

Объяснение работы кода:

WordPress:

  1. Эта строка отвечает за образ сборки:

image: wordpress:latest

Используем последний официальный образ WordPress.

  1. Задание имени контейнера:

container_name: wordpress

Устанавливается имя контейнера как wordpress.

  1. Проброс портов:

Порт 80 контейнера пробрасывается на порт 8080 хоста.

  1. Тома для хранения данных:

volumes:

  • wordpress_data:/var/www/html

Том wordpress_data монтируется в директорию /var/www/html контейнера для хранения данных WordPress.

  1. Переменные окружения для 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: имя базы данных.

  1. Зависимость от базы данных:

depends_on: db

Указываем, что WordPress зависит от контейнера с базой данных (db), который должен запуститься первым.

Остальные сервисы развернуты по аналогии.

Видео по ссылку:

https://disk.yandex.ru/i/EVeX-9zD7H4Aog