Docker - REST API Environment
Docker окружение для тестирования простого и готового REST API, полное описание можно посмотреть в моем - портфолио.
Разворачиваем окружение
- Спуливаем
-
Вносим в host файл соответствия ip и локального домена:
127.0.0.151 site.loc
-
Открываем консоль и переходим в директорию, куда спулили репозиторий и вводим команду:
docker-compose up -d
-
Проверяем в браузере, что приложение http://site.loc корректно открывается
- Проверяем в браузере, что на странице http://site.loc/api/product/read.php выводится json строка всех товаров без пагинации
- Проверяем в браузере, что на странице http://site.loc/api/product/read_paging.php выводится json строка всех товаров с пагинацией
- phpMyAdmin доступен по адресу http://site.loc:81
-
Для доступа к БД необходимы следующие логин и пароль:
login = root pass = root123
ВАЖНО! В качестве адреса хоста БД нужно указать не localhost, а db, т.к. доступ к контейнеру БД из контейнера web осуществляется по имени контейнера (db)!
Файлы и директории
-
docker-compose.yml
Содержит описание контейнеров.
-
директория html
Общая директория хоста, примонтированная к файловой системе контейнера, содержит файлы сайтов в рамках окружения и их логи, структура следующая.
-
директория web
Содержит следующие файлы:
- php.ini: директивы для корректной работы PHP под Bitrix.
- Dockerfile: инструкция для запуска контейнера на основе image PHP с встроенным Apache, по умолчанию используется php:7.4-apache, параметр можно менять.
- sites.conf: виртуальный хост для Apache.
- mail.php: скрипт-заглушка для обработки php функции mail.
- opcache.ini: директивы для настройки opcache.
- xdebug.ini: директивы для настройки xdebug.
-
директория databases
Общая директория хоста, примонтированная к файловой системе контейнера. Содержит БД в рамках запущенного окружения.
-
директория db
Содержит следующие файлы:
- mysql.cnf: в нём прописаны директивы для корректной работы базы данных под Bitrix.
- Dockerfile: инструкция для запуска контейнера на основе image MySQL, по умолчанию используется mysql:5.6.
-
директория pm
Содержит следующие файлы:
- Dockerfile: инструкция для запуска контейнера на основе image phpMyAdmin.
Почта
Работа почты, настроена следующим образом, скрипт перехватывает PHP функцию mail и складывает письма в директорию mail