# Отчет по лабораторной работе №1 Выполнил студент гр. ИСЭбд-41 Насыбуллов А.И. ## Разворачивание сервиса Mediawiki Содержимое файла `docker-compose.yml` в папке mediawiki ```yaml 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` в терминале разворачиваем сервис: ![](images/pic1_1.png) Открываем Docker Desktop и проверяем, что контейнер сервера базы данных, Mediawiki и PHPMyAdmin созданы и запущены: ![](images/pic1_2.png) Переходим на http://localhost:8080: ![](images/pic1_3.png) Задаем настройки и регистрируемся. Сервис поднят и успешно работает ![](images/pic1_4.png) ## Разворачивание сервиса Gitea Содержимое файла `docker-compose.yml` в папке gitea ```yaml 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 созданы и запущены: ![](images/pic2_1.png) Переходим на http://localhost:3000: ![](images/pic2_2.png) Задаем настройки и регистрируемся. Сервис поднят и успешно работает ![](images/pic2_3.png) ## Разворачивание сервиса Wordpress Содержимое файла `docker-compose.yml` в папке wordpress ```yaml 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 созданы и запущены: ![](images/pic3_1.png) Переходим на http://localhost:9091: ![](images/pic3_2.png) Задаем настройки и регистрируемся. Сервис поднят и успешно работает ![](images/pic3_3.png)