74 lines
3.0 KiB
Markdown
74 lines
3.0 KiB
Markdown
|
# Лабораторная работа 1. Знакомство с docker и docker-compose
|
|||
|
### Задание на лабораторную работу
|
|||
|
1. Установить средство контейнеризации docker.
|
|||
|
2. Изучить применение и принципы docker.
|
|||
|
3. Изучить утилиту docker-compose и структуру файла docker-compose.yml.
|
|||
|
4. Развернуть не менее 3х различных сервисов при помощи docker-compose.
|
|||
|
|
|||
|
***
|
|||
|
### Как запустить лабораторную работу
|
|||
|
Для запуска лабораторной работы необходимо перейти в директорию с файлом `docker-compose.yaml` и выполнить команду:
|
|||
|
```
|
|||
|
docker-compose up -d
|
|||
|
```
|
|||
|
|
|||
|
***
|
|||
|
### Разворачиваемые сервисы
|
|||
|
Были выбраны 3 сервиса:
|
|||
|
* mediawiki - движок вики;
|
|||
|
* wordpress - популярная система управления контентом;
|
|||
|
* gitea - сервис для хранения репозиториев git.
|
|||
|
|
|||
|
***
|
|||
|
### Содержимое docker-compose.yml
|
|||
|
Файл содержит следующее:
|
|||
|
- блок *services*, где перечислены разворачиваемые сервисы;
|
|||
|
- для каждого сервиса описаны *image* (образ, на основе которого создаётся контейнер), *ports* (проброс порта с хоста на порт контейнер) и *volumes* (указание на том с путем для сохранения данных).
|
|||
|
- блок *volumes*, где описаны тома.
|
|||
|
|
|||
|
Конфигурация сервиса `mediawiki`:
|
|||
|
```
|
|||
|
mediawiki: # название сервиса
|
|||
|
image: mediawiki # образ для контейнера
|
|||
|
ports:
|
|||
|
- 8083:80 # пробрасываем порт 80 контейнера на порт 8083 хоста
|
|||
|
volumes:
|
|||
|
- mediawiki-data:/var/www/html # создаем volume для сохранения данных MediaWiki
|
|||
|
```
|
|||
|
|
|||
|
Конфигурация сервиса `wordpress`:
|
|||
|
```
|
|||
|
wordpress:
|
|||
|
image: wordpress
|
|||
|
ports:
|
|||
|
- 8084:80 # пробрасываем порт 80 контейнера на порт 8084 хоста
|
|||
|
volumes:
|
|||
|
- wp-data:/var/www/html # создаем volume для сохранения данных WordPress
|
|||
|
```
|
|||
|
|
|||
|
Конфигурация сервиса `gitea`:
|
|||
|
```
|
|||
|
gitea:
|
|||
|
image: gitea/gitea
|
|||
|
ports:
|
|||
|
- 4000:3000 # пробрасываем порт 3000 контейнера на порт 4000 хоста
|
|||
|
volumes:
|
|||
|
- gitea-data:/data # создаем volume для сохранения данных Gitea
|
|||
|
```
|
|||
|
***
|
|||
|
### Скриншоты
|
|||
|
***Dockerhub***
|
|||
|
![](images/dockerhub.jpg)
|
|||
|
|
|||
|
***MediaWiki***
|
|||
|
![](images/mediawiki.jpg)
|
|||
|
|
|||
|
***WordPress***
|
|||
|
![](images/wordpress.jpg)
|
|||
|
|
|||
|
***Gitea***
|
|||
|
![](images/gitea.jpg)
|
|||
|
|
|||
|
|
|||
|
### Ссылка на видео:
|
|||
|
https://drive.google.com/file/d/1J2OdpwXdDq-zV7Iam1Tc0xCW7MOTt7f6/view?usp=sharing
|