.. | ||
.env | ||
docker-compose.yml | ||
Dockerfile | ||
entrypoint.sh | ||
lab_1.png | ||
README.md |
Лабораторная работа №1 - Знакомство с docker и docker-compose
Задание
Нужно развернуть 3 сервиса в контейнерах docker через docker-compose.
Необходимые требования:
- Несколько контейнеров.
- Хотя бы один volume.
- Хотя бы один порт, проброшенный на хост.
- Разворачивание системы должно пройти до конца.
Запуск ЛР:
Введем в терминале команду:
docker-compose up -d
Использованные сервисы:
1. db
- база данные MySQL
2. redmine
- Система учёта багов, т.е. баг-трекер.
3. mediawiki
- движок вики
4. wordpress
- платформа для управления контентом
Описание программы:
Развернутые сервисы:
wordpress
wordpress: # Определение сервиса WordPress
image: wordpress:latest # Используемый образ WordPress последней версии
containername: wp_app # Имя контейнера
restart: always
ports: # Настройка портов
- "8000:80"
environment: # Переменные окружения
WORDPRESSDBHOST: ${DBHOST}
WORDPRESSDBUSER: ${DBUSER}
WORDPRESSDBPASSWORD: ${DBPASSWORD}
WORDPRESSDBNAME: ${DBNAME}
WORDPRESSADMINUSER: admin
WORDPRESSADMINPASSWORD: adminpassword
WORDPRESSADMINEMAIL: admin@example.com
volumes: # Настройка томов
- wordpress_data:/var/www/html
dependson: # Зависимости
- db_wordpress # Зависит от сервиса MySQL
Эта строка отвечает за образ сброки:
image: wordpress:latest
Задание имени контейнера:
containername: wp_app
Проброс портов:
ports:
- 8000:80
Тома для хранения данных:
volumes:
- wordpress_data:/var/www/html
Переменные окружения
environment:
WORDPRESSDBHOST: ${DBHOST}
WORDPRESSDBUSER: ${DBUSER}
WORDPRESSDBPASSWORD: ${DBPASSWORD}
WORDPRESSDBNAME: ${DBNAME}
WORDPRESSADMINUSER: admin
WORDPRESSADMINPASSWORD: adminpassword
WORDPRESSADMINEMAIL: admin@example.com
Зависимости
dependson:
- db_wordpress
Аналогично со другими сервисами:
mediawiki
mediawiki: # Определение сервиса MediaWiki
image: mediawiki:1.35 # Используемый образ MediaWiki версии 1.35
ports: # Настройка портов
- "8080:80"
containername: mediawiki # Имя контейнера
volumes: # Настройка томов
- mediawiki_data:/var/www/html/images mediawiki: # Определение сервиса MediaWiki
image: mediawiki:1.35 # Используемый образ MediaWiki версии 1.35
ports: # Настройка портов
- "8080:80"
containername: mediawiki # Имя контейнера
volumes: # Настройка томов
- mediawiki_data:/var/www/html/images
redmine
redmine: # Определение сервиса Redmine
image: redmine:latest # Используемый образ Redmine последней версии
containername: redmine # Имя контейнера
ports: # Настройка портов
- "3000:3000"
volumes: # Настройка томов
- redmine_data:/usr/src/redmine/files