diff --git a/romanova_adelina_lab_1/README.md b/romanova_adelina_lab_1/README.md new file mode 100644 index 0000000..13c8176 --- /dev/null +++ b/romanova_adelina_lab_1/README.md @@ -0,0 +1,136 @@ +# Лабораторная работа №1 - Знакомство с docker и docker-compose + +## Задание + +Разверните 3 сервиса на выбор в контейнерах docker с помощью docker-compose, учитывая следующие требования: + +* Несколько контейнеров. +* Хотя бы один volume. +* Хотя бы один порт, проброшенный на хост. +* Разворачивание системы должно пройти до конца. + +## Запуск + +Введение в терминале команды: +``` +docker-compose up -d +``` + +# Выбранные сервисы + + 1. ```mysql``` - система для создания БД + + 2. ```drupal``` - популярная система управления контентом + + 3. ```gitea``` - сервис для хранения репозиториев git, на котором работает этот репозиторий + + 4. ```wordpress``` - платформа для управления контентом + + +## Описание работы: + +Были развёрнуты следующие сервисы: + +### Drupal + +``` + drupal: + depends_on: + - mysql + image: drupal + container_name: my-drupal-container + ports: + - 8084:80 + volumes: + - ./drupal-modules:/var/www/html/modules + - ./drupal-profiles:/var/www/html/profiles + - ./drupal-themes:/var/www/html/themes + environment: + - DRUPAL_DB_HOST=mysql + - DRUPAL_DB_USER=wiki_user + - DRUPAL_DB_PASSWORD=my_secret_password + - DRUPAL_DB_NAME=my_wiki +``` + +Этот код представляет собой часть файла конфигурации ```Docker Compose```, который используется для управления многоконтейнерными приложениями в Docker. + +#### Объяснение работы кода: + +Эта строка отвечает за образ сброки: +``` +image: drupal +``` +Задание имени контейнера: +``` +container_name: my-drupal-container +``` +Проброс портов: +``` +ports: + - 8084:80 +``` +Тома для хранения данных: +``` +volumes: + - ./drupal-modules:/var/www/html/modules + - ./drupal-profiles:/var/www/html/profiles + - ./drupal-themes:/var/www/html/themes + +``` +Переменные окружения для Drupal +``` +environment: + - DRUPAL_DB_HOST=mysql + - DRUPAL_DB_USER=wiki_user + - DRUPAL_DB_PASSWORD=my_secret_password + - DRUPAL_DB_NAME=my_wiki + +``` +Аналогично со следующими сервисами: + +### Gitea + +``` + depends_on: + - mysql + image: gitea/gitea + container_name: my-gitea-container + ports: + - 8085:3000 + volumes: + - ./gitea:/data + environment: + - USER_UID=1000 + - USER_GID=1000 + - DB_TYPE=mysql + - DB_HOST=mysql:3306 + - DB_NAME=my_wiki + - DB_USER=wiki_user + - DB_PASSWORD=my_secret_password + - ROOT_URL=http://localhost:8085 +``` + +### Wordpress + +``` + depends_on: + - mysql + image: wordpress + container_name: my-wordpress-container + ports: + - 8086:80 + volumes: + - ./wp-content:/var/www/html/wp-content + environment: + - WORDPRESS_DB_HOST=mysql + - WORDPRESS_DB_USER=wiki_user + - WORDPRESS_DB_PASSWORD=my_secret_password + - WORDPRESS_DB_NAME=my_wiki +``` +# Скриншот работы +Запущенный контейнер в Docker +![](docker.png "") + +# Youtube +https://youtu.be/slOXP6pHBsM + diff --git a/romanova_adelina_lab_1/docker-compose.yml b/romanova_adelina_lab_1/docker-compose.yml new file mode 100644 index 0000000..061f46c --- /dev/null +++ b/romanova_adelina_lab_1/docker-compose.yml @@ -0,0 +1,64 @@ +version: "3" +services: + mysql: + image: mysql + container_name: my-mysql-container + restart: always + environment: + MYSQL_DATABASE: my_wiki + MYSQL_USER: wiki_user + MYSQL_PASSWORD: my_secret_password + MYSQL_RANDOM_ROOT_PASSWORD: "yes" + volumes: + - ./data:/var/lib/mysql + + drupal: + depends_on: + - mysql + image: drupal + container_name: my-drupal-container + ports: + - 8084:80 + volumes: + - ./drupal-modules:/var/www/html/modules + - ./drupal-profiles:/var/www/html/profiles + - ./drupal-themes:/var/www/html/themes + environment: + - DRUPAL_DB_HOST=mysql + - DRUPAL_DB_USER=wiki_user + - DRUPAL_DB_PASSWORD=my_secret_password + - DRUPAL_DB_NAME=my_wiki + + gitea: + depends_on: + - mysql + image: gitea/gitea + container_name: my-gitea-container + ports: + - 8085:3000 + volumes: + - ./gitea:/data + environment: + - USER_UID=1000 + - USER_GID=1000 + - DB_TYPE=mysql + - DB_HOST=mysql:3306 + - DB_NAME=my_wiki + - DB_USER=wiki_user + - DB_PASSWORD=my_secret_password + - ROOT_URL=http://localhost:8085 + + wordpress: + depends_on: + - mysql + image: wordpress + container_name: my-wordpress-container + ports: + - 8086:80 + volumes: + - ./wp-content:/var/www/html/wp-content + environment: + - WORDPRESS_DB_HOST=mysql + - WORDPRESS_DB_USER=wiki_user + - WORDPRESS_DB_PASSWORD=my_secret_password + - WORDPRESS_DB_NAME=my_wiki diff --git a/romanova_adelina_lab_1/docker.png b/romanova_adelina_lab_1/docker.png new file mode 100644 index 0000000..2775ef1 Binary files /dev/null and b/romanova_adelina_lab_1/docker.png differ