Merge pull request 'agliullov_daniyar_lab_1 is ready' (#187) from agliullov_daniyar_lab_1 into main
Reviewed-on: #187
This commit is contained in:
commit
043da1373f
69
agliullov_daniyar_lab_1/docker-compose.yml
Normal file
69
agliullov_daniyar_lab_1/docker-compose.yml
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
services:
|
||||||
|
wp_db:
|
||||||
|
|
||||||
|
image: mariadb:10.6.4-focal
|
||||||
|
command: '--default-authentication-plugin=mysql_native_password'
|
||||||
|
volumes:
|
||||||
|
- wp_db_data:/var/lib/mysql
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=somewordpress
|
||||||
|
- MYSQL_DATABASE=wordpress
|
||||||
|
- MYSQL_USER=wordpress
|
||||||
|
- MYSQL_PASSWORD=wordpress
|
||||||
|
expose:
|
||||||
|
- 3306
|
||||||
|
- 33060
|
||||||
|
wordpress:
|
||||||
|
image: wordpress:latest
|
||||||
|
volumes:
|
||||||
|
- wp_data:/var/www/html
|
||||||
|
ports:
|
||||||
|
- 52384:80
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- WORDPRESS_DB_HOST=wp_db
|
||||||
|
- WORDPRESS_DB_USER=wordpress
|
||||||
|
- WORDPRESS_DB_PASSWORD=wordpress
|
||||||
|
- WORDPRESS_DB_NAME=wordpress
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: postgres:latest
|
||||||
|
container_name: db
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: 1234
|
||||||
|
POSTGRES_DB: postgres
|
||||||
|
volumes:
|
||||||
|
- db_data:/var/lib/postgresql
|
||||||
|
|
||||||
|
redmine:
|
||||||
|
image: redmine:latest
|
||||||
|
container_name: redmine
|
||||||
|
ports:
|
||||||
|
- "11001:3000"
|
||||||
|
environment:
|
||||||
|
- REDMINE_DB_POSTGRESQL=db
|
||||||
|
- REDMINE_DB_DATABASE=redmine
|
||||||
|
- REDMINE_DB_USERNAME=posgres
|
||||||
|
- REDMINE_DB_PASSWORD=1234
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
|
||||||
|
gitea:
|
||||||
|
image: gitea/gitea:latest
|
||||||
|
container_name: gitea
|
||||||
|
ports:
|
||||||
|
- "11002:3000"
|
||||||
|
environment:
|
||||||
|
- USER_UID=1000
|
||||||
|
- USER_GID=1000
|
||||||
|
volumes:
|
||||||
|
- gitea_data:/data
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
wp_db_data:
|
||||||
|
wp_data:
|
||||||
|
db_data:
|
||||||
|
redmine_db_data:
|
||||||
|
gitea_data:
|
126
agliullov_daniyar_lab_1/readme.md
Normal file
126
agliullov_daniyar_lab_1/readme.md
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
▎Лабораторная работа №1 - Знакомство с Docker и Docker Compose
|
||||||
|
|
||||||
|
Цель: Изучение современных технологий контейнеризации.
|
||||||
|
|
||||||
|
▎Задачи:
|
||||||
|
|
||||||
|
1. Установить Docker.
|
||||||
|
|
||||||
|
2. Изучить применение и принципы работы Docker.
|
||||||
|
|
||||||
|
3. Изучить утилиту Docker Compose и структуру файла docker-compose.yml.
|
||||||
|
|
||||||
|
4. Развернуть не менее трех различных сервисов с помощью Docker Compose.
|
||||||
|
|
||||||
|
▎Разворачивание сервисов
|
||||||
|
|
||||||
|
Необходимо развернуть минимум три сервиса из предложенного списка:
|
||||||
|
|
||||||
|
|
||||||
|
1. Redmine - система учета багов (баг-трекер).
|
||||||
|
|
||||||
|
2. WordPress - популярная система управления контентом.
|
||||||
|
|
||||||
|
3. Gitea - сервис для хранения git-репозиториев.
|
||||||
|
|
||||||
|
▎Требования к Docker Compose:
|
||||||
|
|
||||||
|
• Несколько контейнеров.
|
||||||
|
|
||||||
|
• Хотя бы один volume.
|
||||||
|
|
||||||
|
• Хотя бы один проброшенный порт на хост.
|
||||||
|
|
||||||
|
Система должна быть развернута полностью, включая создание администратора и корректное функционирование, что будет подтверждено скриншотами.
|
||||||
|
|
||||||
|
▎Ход работы
|
||||||
|
|
||||||
|
1. Установил Docker Desktop на Windows.
|
||||||
|
|
||||||
|
2. Проверил установку с помощью команды docker --version.
|
||||||
|
|
||||||
|
3. Развернул сервисы (описаны ниже).
|
||||||
|
|
||||||
|
▎Объяснение работы кода:
|
||||||
|
|
||||||
|
▎WordPress:
|
||||||
|
|
||||||
|
1. Образ сборки:
|
||||||
|
image: wordpress:latest - используется последний официальный образ WordPress.
|
||||||
|
|
||||||
|
|
||||||
|
2. Имя контейнера:
|
||||||
|
container_name: wordpress - имя контейнера устанавливается как wordpress.
|
||||||
|
|
||||||
|
|
||||||
|
3. Проброс портов:
|
||||||
|
Порт 80 контейнера пробрасывается на порт 8080 хоста.
|
||||||
|
|
||||||
|
|
||||||
|
4. Тома для хранения данных:
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- wordpress_data:/var/www/html
|
||||||
|
|
||||||
|
Том wordpress_data монтируется в директорию /var/www/html контейнера для хранения данных WordPress.
|
||||||
|
|
||||||
|
|
||||||
|
5. Переменные окружения для WordPress:
|
||||||
|
|
||||||
|
environment:
|
||||||
|
WORDPRESS_DB_HOST: db
|
||||||
|
WORDPRESS_DB_USER: example_user
|
||||||
|
WORDPRESS_DB_PASSWORD: example_password
|
||||||
|
WORDPRESS_DB_NAME: example_db
|
||||||
|
|
||||||
|
Параметры для подключения к базе данных.
|
||||||
|
|
||||||
|
6. Зависимость от базы данных:
|
||||||
|
depends_on: db - указывает, что WordPress зависит от контейнера базы данных (db).
|
||||||
|
|
||||||
|
▎Redmine:
|
||||||
|
|
||||||
|
1. Образ сборки:
|
||||||
|
image: redmine:latest - используется последний официальный образ Redmine.
|
||||||
|
|
||||||
|
|
||||||
|
2. Имя контейнера:
|
||||||
|
container_name: redmine - имя контейнера устанавливается как redmine.
|
||||||
|
|
||||||
|
|
||||||
|
3. Проброс портов:
|
||||||
|
ports:"8081:3000" - порт 3000 контейнера пробрасывается на порт 8081 хоста.
|
||||||
|
|
||||||
|
|
||||||
|
4. Переменные окружения для Redmine:
|
||||||
|
|
||||||
|
environment:
|
||||||
|
REDMINE_DB_MYSQL: redmine_db
|
||||||
|
REDMINE_DB_USERNAME: redmine_user
|
||||||
|
REDMINE_DB_PASSWORD: redmine_password
|
||||||
|
|
||||||
|
Параметры для подключения к базе данных.
|
||||||
|
|
||||||
|
5. Зависимость от базы данных:
|
||||||
|
depends_on: - redmine_db - Redmine зависит от контейнера с базой данных.
|
||||||
|
|
||||||
|
▎Gitea:
|
||||||
|
|
||||||
|
1. Образ сборки:
|
||||||
|
image: gitea/gitea:latest - используется последний официальный образ Gitea.
|
||||||
|
|
||||||
|
|
||||||
|
2. Имя контейнера:
|
||||||
|
container_name: gitea - имя контейнера устанавливается как gitea.
|
||||||
|
|
||||||
|
|
||||||
|
3. Проброс портов:
|
||||||
|
ports:"8082:3000" - порт 3000 контейнера пробрасывается на порт 8082 хоста.
|
||||||
|
|
||||||
|
|
||||||
|
4. Тома для хранения данных:
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- gitea_data:/data
|
||||||
|
|
||||||
|
[Видео](https://disk.yandex.ru/d/JFWkukJKwbfhIw)
|
Loading…
Reference in New Issue
Block a user