# Лабораторная работа №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