# Лабораторная работа №1 - Знакомство с docker и docker-compose  

## Задание

Разверните 3 сервиса на выбор в контейнерах docker с помощью docker-compose, учитывая следующие требования:

* Несколько контейнеров.
* Хотя бы один volume.
* Хотя бы один порт, проброшенный на хост.
* Разворачивание системы должно пройти до конца. 

## Запуск

Введение в терминале команды:
```
docker-compose up -d
```

# Выбранные сервисы

&nbsp;1. ```db``` - самая новая версия БД MaraiDB

&nbsp;2. ```phpmyadmin``` - система управления базой данных

&nbsp;3. ```mediawiki``` - движок вики

&nbsp;4. ```wordpress``` - платформа для управления контентом


## Описание работы:

Были развёрнуты следующие сервисы:

### phpmyadmin

```
phpmyadmin: 
    depends_on: 
      - db
    image: phpmyadmin 
    hostname: php_my_admin
    container_name: php_my_admin
    volumes: # см. конец файла
      - php_my_admin_data:/var/www/html
    ports:
      - 8080:80
    restart: always
    environment:
      PMA_ARBITRARY: 1 
      TZ: "Europe/Moscow"
      PMA_HOST: ${DB_HOST} 
      PMA_USER : ${DB_USER}
      PMA_PASSWORD : ${DB_PASSWORD}
```

Этот код представляет собой часть файла конфигурации ```Docker Compose```, который используется для управления многоконтейнерными приложениями в Docker.

#### Объяснение работы кода:

Эта строка отвечает за образ сброки:
```
image: phpmyadmin
```
Задание имени контейнера:
```
container_name: php_my_admin
```
Проброс портов:
```
ports:
  - 8080:80
```
Тома для хранения данных:
```
volumes:
  - .php_my_admin_data:/var/www/html

```
Переменные окружения для Drupal
```
environment:
      PMA_ARBITRARY: 1 
      TZ: "Europe/Moscow"
      PMA_HOST: ${DB_HOST} 
      PMA_USER : ${DB_USER}
      PMA_PASSWORD : ${DB_PASSWORD}

```
Аналогично со другими сервисами:

### mediawiki

```
 image: mediawiki:latest # образ MediaWiki
    container_name: mediawiki_app
    volumes: # см. конец файла
      - ./mediawiki_data:/var/www/html/mediawiki
    ports:
      - "8088:80"
    restart: always
```

### Wordpress

```
    depends_on: 
        - db
        image: wordpress:latest 
        hostname: wp_app
        container_name: wp_app
        volumes: # см. конец файла
        - wordpress_data:/var/www/html
        ports:
        - "8000:80"
        restart: always
        user: www-data
        environment: # секция настроек для подключения wordpress к БД
        TZ: "Europe/Moscow"
        WORDPRESS_DB_HOST: ${DB_HOST}
        WORDPRESS_DB_USER: ${DB_USER}
        WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
        WORDPRESS_DB_NAME: ${DB_NAME}
```
# Скриншот работы
Панель консоли
![](1.png "")

# ВК
https://vk.com/video256017065_456239870?list=ln-qWUdZke5z53x940ZHv