/inception

DevOps task. Docker. Docker-compose. Wordpress.

Primary LanguageShell

Практика контейнеризации в Docker

В этом проекте реализуется развертывание необходимой инфраструктуры для веб-приложения на базе CMS Wordpress. Приложение состоит из следующих микросервисов:

  • NGINX
  • php-fpm + wordpress
  • MariaDB
  • Adminer
  • FTP
  • Redis

Каждый сервис запускается в отдельном контейнере.

Основа проекта - файл docker-compose.yml, в котором прописан сценарий для создания образов будущих сервисов из Dockerfile, порядок запуска контейнеров, мэппинг портов, политика перезапуска контейнеров, настрока сети. Настроен мэппинг томов. Используется два тома: один для базы данных, другой для файлов cайта. Все образы создаются на основе debian:buster. Готовые образы с dockerhub не используются.

Имена, пароли передаются через переменные окружения и записаны в отдельном файле .env. Для установки и конфигурации Wordpress используется утилита wp-cli. Автоматически скачивается ядро, создается wp-config, устанавливается ядро, скачиваются и устанавливаются тема и плагины, сайт заполняется тестовым контентом.