.. | ||
docker-compose.yml | ||
image_lab_1.png | ||
README.md |
Лабораторная работа №1. Знакомство с docker и docker-compose
Задание
Развернуть не менее 3 сервисов в контейнерах docker при помощи docker-compose.
Требования:
- Несколько контейнеров.
- Хотя бы один volume.
- Хотя бы один порт, проброшенный на хост.
- Разворачивание системы должно пройти до конца.
Запуск работы:
Сначала, чтобы программа заработала, нужно ввести в терминале следующую команду:
docker-compose up -d
Описание программы:
Зададим основную структуру services:
. В этом разделе определяются сервисы, которые будут работать вместе.
mediawiki
mediawiki:
image: mediawiki:1.35
ports:
- "8080:80"
volumes:
- ./mediawiki-images:/var/www/html/images
Задаем образ сборки и указываем используемую версию:
image: mediawiki:1.35
Указываем порт:
ports:
- "8080:80"
Указываем том для хранения данных:
volumes:
- ./mediawiki-images:/var/www/html/images
redmine
Код для сервиса redmine будет выглядеть аналогично сервису mediawiki:
redmine: # определение сервиса redmine
image: redmine:latest # образ redmine последней версии
ports: # проброс порта
- "8082:3000"
volumes: # настройки тома
- ./redmine/files:/usr/src/redmine/files
wordpress
wordpress:
image: wordpress:latest
ports:
- "8081:80"
environment:
- WORDPRESS_DB_HOST=db_wp
- WORDPRESS_DB_USER=admin
- WORDPRESS_DB_PASSWORD=admin123
- WORDPRESS_DB_NAME=wpdb
volumes:
- ./wordpress:/var/www/html
depends_on:
- db_wp
Для сервиса wordpress нужно добавить переменные окружения:
environment:
- WORDPRESS_DB_HOST=db_wp
- WORDPRESS_DB_USER=admin
- WORDPRESS_DB_PASSWORD=admin123
- WORDPRESS_DB_NAME=wpdb
volumes:
И зависимости:
depends_on:
- db_wp
И база данных:
db_wp:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=rootpassword
- MYSQL_DATABASE=wpdb
- MYSQL_USER=admin
- MYSQL_PASSWORD=admin123
volumes:
- db_wp-data:/var/lib/mysql