distributed-computing/tasks/mytarin_es/lab_1
2023-10-27 18:38:35 +03:00
..
images update lab1 2023-10-27 18:38:35 +03:00
readme.md update lab1 2023-10-27 18:38:35 +03:00

Отчет по лабораторной работе №1

Выполнил студент гр. ИСЭбд-41 Мытарин Е.С.

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

Содержимое файла docker-compose.yml в папке mediawiki

version: '3'
services:
  mediawiki:
    image: mediawiki:1.38 #образ docker
    restart: always #контейнер всегда перезапускается
    networks: #используем сеть для связи
      - docker_network
    ports:
      - 8080:80 #пробрасываем порт
    volumes:
      - ./LocalSettings.php:/var/www/html/LocalSettings.php #определение тома для хранения настроек php
    
  database:
    image: mysql:8.0.29 #образ docker
    restart: always #контейнер всегда перезапускается
    networks: #используем сеть для связи
      - docker_network
    environment: 
      MYSQL_DATABASE: wiki_db #имя бд
      MYSQL_ROOT_PASSWORD: root #пароль для root пользователя
      MYSQL_USER: tornado #имя пользователя mysql
      MYSQL_PASSWORD: tornado #пароль пользователя mysql
    volumes: 
      - /var/lib/mysql #определение тома для хранения данных mysql
  
  phpmyadmin:
    depends_on: #определяем зависимость от бд
      - database
    image: phpmyadmin/phpmyadmin #образ docker
    restart: always #контейнер всегда перезапускается
    ports:
      - '8000:80' #пробрасываем порт
    environment:
      PMA_HOST: database #кто является хостом
      MYSQL_ROOT_PASSWORD: root #пароль от пользователя root
      UPLOAD_LIMIT: 64M #лимит на загрузку
    networks:
      - docker_network #используем сеть для связи

networks:
  docker_network:
    driver: bridge #подключаем драйвер для соединения

С помощью команды docker-compose.yml в терминале разворачиваем сервис:

Открываем Docker Desktop и проверяем, что контейнер сервера базы данных, Mediawiki и PHPMyAdmin созданы и запущены:

Переходим на http://localhost:8080:

Задаем настройки и регистрируемся. Сервис поднят и успешно работает

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

Содержимое файла docker-compose.yml в папке gitea

version: '3'

services:
  server: 
    image: gitea/gitea:1.20.4 #образ docker
    container_name: gitea #имя контейнера
    environment: #настройки для подключения
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=mysql
      - GITEA__database__HOST=db:3306
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea
    restart: always #контейнер всегда перезапускается
    networks: #используем сеть для связи
      - gitea
    volumes: #устанавливаем томы для хранения данных
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports: 
      - "3000:3000" #проброс портов
      - "2222:22"
    depends_on: #зависимости
      - db 
  
  db: 
    image: mysql:8 #образ docker
    restart: always #контейнер всегда перезапускается
    environment: 
      - MYSQL_ROOT_PASSWORD=gitea #пароль root
      - MYSQL_USER=gitea #пользователь
      - MYSQL_PASSWORD=gitea #пароль
      - MYSQL_DATABASE=gitea #имя бд
    networks: #используем сеть для связи
      - gitea
    volumes: #определяем том для хранения данных mysql
      - ./mysql:/var/lib/mysql

networks: #задаем сеть и указываем что она внутренняя
  gitea:
    external: false

Открываем Docker Desktop и проверяем, что контейнер сервера базы данных и Gitea созданы и запущены:

Переходим на http://localhost:3000:

Задаем настройки и регистрируемся. Сервис поднят и успешно работает

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

Содержимое файла docker-compose.yml в папке wordpress

version: '3'
services:
  wordpress:
    image: wordpress #образ docker 
    container_name: wordpress #имя контейнера 
    ports:
      - '9091:80' #проброс портов  
    environment: #настройки для подключения
      WORDPRESS_DB_HOST: mysql  
      WORDPRESS_DB_USER: tornado  
      WORDPRESS_DB_PASSWORD: tornado  
      WORDPRESS_DB_NAME: wp_database  
    volumes: #определяем том для хранения данных
      - wordpress_data:/var/www/html  
    networks: #используем сеть для связи
      - wordpress-network  

  mysql:
    image: mysql:5.7 #образ docker
    container_name: mysql  #имя контейнера
    environment: #настройки для подключения
      MYSQL_ROOT_PASSWORD: root  
      MYSQL_DATABASE: wp_database  
      MYSQL_USER: tornado  
      MYSQL_PASSWORD: tornado  
    volumes: #определяем том для хранения данных
      - mysql_data:/var/lib/mysql  
    networks: #используем сеть для связи
      - wordpress-network 
networks: #сеть
  wordpress-network:  
volumes: #тома для хранениях данных
  wordpress_data: 
  mysql_data:  

Открываем Docker Desktop и проверяем, что контейнер сервера базы данных и Wordpress созданы и запущены:

Переходим на http://localhost:9091:

Задаем настройки и регистрируемся. Сервис поднят и успешно работает