DAS_2023_1/martysheva_tamara_lab_1
2023-12-13 15:15:47 +04:00
..
images martysheva_tamara_lab_1 is ready 2023-12-13 15:15:47 +04:00
docker-compose.yml martysheva_tamara_lab_1 is ready 2023-12-13 15:13:47 +04:00
README.md martysheva_tamara_lab_1 is ready 2023-12-13 15:15:47 +04:00
video.mkv martysheva_tamara_lab_1 is ready 2023-12-13 15:13:47 +04:00

Лабораторная работа №1 - Знакомство с docker и docker-compose

Цель: изучение современных технологий контейнеризации.

Задачи:

  • Установить средство контейнеризации docker.
  • Изучить применение и принципы docker.
  • Изучить утилиту docker-compose и структуру файла docker-compose.yml.
  • Развернуть не менее 3х различных сервисов при помощи docker-compose.
  • Оформить отчёт в формате Markdown и создать Pull Request в git-репозитории.

Ход работы:

Разворачивание сервисов

Были выбраны три сервиса:

  • mediawiki - движок вики.
  • redmine - система учёта багов, т.е. баг-трекер.
  • wordpress - популярная система управления контентом.

docker-compose.yml

Был создан файл docker-compose.yml для разворачивания сервисов:

version: "3" #формат конфигурации Docker Compose версии 3
services: #определение сервисов
  mediawiki:
    image: mediawiki #образ для контейнера
    ports:
      - "8086:80" #проброс порта 8086 хоста на порт 80 контейнера
    volumes:
      - volume-mediawiki:/var/log/mediawiki #том для хранения логов MediaWiki вне контейнера

  redmine:
    image: redmine #образ для контейнера
    ports:
      - "8087:3000" #проброс порта 8087 хоста на порт 3000 контейнера
    volumes:
      - volume-redmine:/usr/src/redmine/log #том для хранения логов Redmine вне контейнера
  
  wordpress:
    image: wordpress #образ для контейнера
    ports:
      - "8088:80" #проброс порта 8088 хоста на порт 80 контейнера
    volumes:
      - volume-wordpress:/var/log/php #том для хранения логов PHP WordPress вне контейнера

volumes: #определение томов
  volume-mediawiki:
  volume-redmine:
  volume-wordpress:

docker-compose up -d

Создание контейнеров

Dockerhub


Результат:

http://localhost:8086/ http://localhost:8087/ http://localhost:8088/