171 lines
6.5 KiB
Markdown
171 lines
6.5 KiB
Markdown
|
# Отчет по лабораторной работе №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)
|