DAS_2024_1/vaksman_valerya_lab_2
2024-09-27 23:01:46 +04:00
..
app_one All that's left is to update README 2024-09-27 23:01:46 +04:00
app_two All that's left is to update README 2024-09-27 23:01:46 +04:00
file_generator All that's left is to update README 2024-09-27 23:01:46 +04:00
.env All that's left is to update README 2024-09-27 23:01:46 +04:00
.gitignote All that's left is to update README 2024-09-27 23:01:46 +04:00
docker-compose.yaml All that's left is to update README 2024-09-27 23:01:46 +04:00
README.md All that's left is to update README 2024-09-27 23:01:46 +04:00

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

Задание

Разверните 3 сервиса на выбор в контейнерах docker с помощью docker-compose, учитывая следующие требования:

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

Запуск

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

docker-compose up -d

Выбранные сервисы

 1. db - самая новая версия БД MaraiDB

 2. phpmyadmin - система управления базой данных

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

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

Описание работы:

Были развёрнуты следующие сервисы:

phpmyadmin

phpmyadmin: 
    depends_on: 
      - db
    image: phpmyadmin 
    hostname: php_my_admin
    container_name: php_my_admin
    volumes: # см. конец файла
      - php_my_admin_data:/var/www/html
    ports:
      - 8080:80
    restart: always
    environment:
      PMA_ARBITRARY: 1 
      TZ: "Europe/Moscow"
      PMA_HOST: ${DB_HOST} 
      PMA_USER : ${DB_USER}
      PMA_PASSWORD : ${DB_PASSWORD}

Этот код представляет собой часть файла конфигурации Docker Compose, который используется для управления многоконтейнерными приложениями в Docker.

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

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

image: phpmyadmin

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

container_name: php_my_admin

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

ports:
  - 8080:80

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

volumes:
  - .php_my_admin_data:/var/www/html

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

environment:
      PMA_ARBITRARY: 1 
      TZ: "Europe/Moscow"
      PMA_HOST: ${DB_HOST} 
      PMA_USER : ${DB_USER}
      PMA_PASSWORD : ${DB_PASSWORD}

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

mediawiki

 image: mediawiki:latest # образ MediaWiki
    container_name: mediawiki_app
    volumes: # см. конец файла
      - ./mediawiki_data:/var/www/html/mediawiki
    ports:
      - "8088:80"
    restart: always

Wordpress

    depends_on: 
        - db
        image: wordpress:latest 
        hostname: wp_app
        container_name: wp_app
        volumes: # см. конец файла
        - wordpress_data:/var/www/html
        ports:
        - "8000:80"
        restart: always
        user: www-data
        environment: # секция настроек для подключения wordpress к БД
        TZ: "Europe/Moscow"
        WORDPRESS_DB_HOST: ${DB_HOST}
        WORDPRESS_DB_USER: ${DB_USER}
        WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
        WORDPRESS_DB_NAME: ${DB_NAME}

Скриншот работы

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

ВК

https://vk.com/video256017065_456239870?list=ln-qWUdZke5z53x940ZHv