DAS_2024_1/tukaeva_alfiya_lab_1
2024-09-18 23:09:14 +04:00
..
.env tukaeva_alfiya_lab_1 is ready 2024-09-18 23:09:14 +04:00
docker-compose.yml tukaeva_alfiya_lab_1 is ready 2024-09-18 23:09:14 +04:00
Dockerfile tukaeva_alfiya_lab_1 is ready 2024-09-18 23:09:14 +04:00
entrypoint.sh tukaeva_alfiya_lab_1 is ready 2024-09-18 23:09:14 +04:00
lab_1.png tukaeva_alfiya_lab_1 is ready 2024-09-18 23:09:14 +04:00
README.md tukaeva_alfiya_lab_1 is ready 2024-09-18 23:09:14 +04:00

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

Задание

Нужно развернуть 3 сервиса в контейнерах docker через docker-compose.

Необходимые требования:

  • Несколько контейнеров.
  • Хотя бы один volume.
  • Хотя бы один порт, проброшенный на хост.
  • Разворачивание системы должно пройти до конца.

Запуск ЛР:

Введем в терминале команду:

docker-compose up -d

Использованные сервисы:

 1. db - база данные MySQL

 2. redmine - Система учёта багов, т.е. баг-трекер.

 3. mediawiki - движок вики

 4. wordpress - платформа для управления контентом

Описание программы:

Развернутые сервисы:

wordpress

wordpress:  # Определение сервиса WordPress
    image: wordpress:latest  # Используемый образ WordPress последней версии
    containername: wp_app  # Имя контейнера
    restart: always  
    ports:  # Настройка портов
      - "8000:80"   
    environment:  # Переменные окружения
      WORDPRESSDBHOST: ${DBHOST}  
      WORDPRESSDBUSER: ${DBUSER}  
      WORDPRESSDBPASSWORD: ${DBPASSWORD}  
      WORDPRESSDBNAME: ${DBNAME} 
      WORDPRESSADMINUSER: admin  
      WORDPRESSADMINPASSWORD: adminpassword  
      WORDPRESSADMINEMAIL: admin@example.com  
    volumes:  # Настройка томов
      - wordpress_data:/var/www/html  
    dependson:  # Зависимости
      - db_wordpress  # Зависит от сервиса MySQL

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

image: wordpress:latest 

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

containername: wp_app

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

ports:
  - 8000:80

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

volumes:  
      - wordpress_data:/var/www/html  

Переменные окружения

environment:
      WORDPRESSDBHOST: ${DBHOST}  
      WORDPRESSDBUSER: ${DBUSER}  
      WORDPRESSDBPASSWORD: ${DBPASSWORD}  
      WORDPRESSDBNAME: ${DBNAME} 
      WORDPRESSADMINUSER: admin  
      WORDPRESSADMINPASSWORD: adminpassword  
      WORDPRESSADMINEMAIL: admin@example.com 

Зависимости

dependson:  
      - db_wordpress

Аналогично со другими сервисами:

mediawiki

mediawiki:  # Определение сервиса MediaWiki
    image: mediawiki:1.35  # Используемый образ MediaWiki версии 1.35
    ports:  # Настройка портов
      - "8080:80"  
    containername: mediawiki  # Имя контейнера
    volumes:  # Настройка томов
      - mediawiki_data:/var/www/html/images mediawiki:  # Определение сервиса MediaWiki
    image: mediawiki:1.35  # Используемый образ MediaWiki версии 1.35
    ports:  # Настройка портов
      - "8080:80"  
    containername: mediawiki  # Имя контейнера
    volumes:  # Настройка томов
      - mediawiki_data:/var/www/html/images 

redmine


redmine:  # Определение сервиса Redmine
    image: redmine:latest  # Используемый образ Redmine последней версии
    containername: redmine  # Имя контейнера
    ports:  # Настройка портов
      - "3000:3000"  
    volumes:  # Настройка томов
      - redmine_data:/usr/src/redmine/files 

Скрины работы программы:

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

Видео

https://vk.com/video230744264_456239102