Использование докера для мадженто.

Существует множество вариантов подготовки локального окружения для разработки. О том, какой из них лучше всех, существует много мнений и каждый выбирает свой вариант в зависимомти от ситуации.

Одним из вариантов является докер. Для тех, кто пока не сталкивался, это технология позволяет запускать несколько небольших виртуальных машин (контейнеров), связанных между собой и отвечающих за отдельный сервис (php, mysql, apache, nginx…).

Собрать и корректно настроить докер начинающему будет не просто. Поэтому для ознакомления мы возьмем готовый сет https://gitlab.com/a.khoma/laradock-magento2

Забегу наперед, из того что я бегло нагуглил, этот вариант у меня заработал. Автору спасибо за проделанную работу. Есть пара придирок к инструкции использования, она для уже опытных пользователей и начинающему в ней сложно разобраться. Так же в процессе установки были ошибки, но на работе это не сказалось. Собственно поэтому это больше придирки.

Устанавливать будем на мак или убунту, для винды вам понадобится использовать виртуалку. Для установки вам понадобится установленный и рабочий докер (и virtualbox в случае windows). Сам процесс прост и немного долгий. Начнем.

  1. Скачиваем архив или клонируем код с указанного выше гитлаба в папку с нашими проектами (в нашем случем я создам папку docker у себя в проектах и скопирую туда папки laradock и projects );
  2. Переходим в терминале в созданную папку и дем в папку laradock

и запускаем загрузку имиджей и установку контейнеров

процесс займет какое то время (минут 15, зависит от скорости соединения и актуальности вашего железа). На ошибки типа

или

или

не обращаем внимания. Вполне возможно они возникают из-за неактуальности каких то элементов и это в будущем поправят.

После окончания процесса, проверяем список зарущенных контейнеров

Контейнеры могут не запустится, если их порты уже кем то заняты, например локальные apache, mysql.

Их нужно в таком случае остановить

на убунту это можно сделать так

и повторить запуск докера.

Для того что бы наш будущий проект был доступен добавим в хосты (/etc/hosts)

домен можно менять, добавив свою конфигурацию. Мы пока используем существующую.

Как и описано на странице, с котором мы брали докер сет:

Доступ к базе данных

использование ее в приложениях

Для дебагера в шторме

Запуск и остановка дебагера (считается что включать его нужно только при необходимости, так как он сильно влияет на быстродействие)

Изменить версию php

MailDev
http://localhost:1080

Запускать скрипты мы будем с воркспейса

Пока все это может быть не совсем понятно, установим мадженто в подготовленный докер и многое станет на свои места.

Создадим базу данных

создадим проект и установим его

Из папки с проектом

переходим в воркспейс (промежуточная виртуалка для связи контейнеров)

в воркспейсе

При создании проекта будет необходимо указать свои ключи мадженто, их можно взять как показанно тут

https://devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html

для теста мы ставим “project-community-edition=2.3.0-alpha79 .” бэта версию, которая на момент написания статьи еще тестируется. Точка в конце означает что проект ставим в текущую папку.

При желании вы можете изменить версию на стабильную заменив

на

В процессе установки беты у нас возникнет ошибка с версией php

изменим версию

выходим из веркспейса

из папки laradock выключаем наш докер сет

открываем файл

любимым тектовым редактором (atom, code, sublime, vim, nano..) и меняем

на

сохраняем файл и в терминале с той же папки папки laradock, пересобираем php контейнер

снова идем в воркспейс

создаем проект

если версию php изменить предложенным способом не получилось, останавливаем и удаляем созданные контейнеры и ставим снова (с исправленной версией в .env файле)

и если в этот раз все прошло корректно, правим права доступа

и установим созданный проект с веркспейса, надодясь в папке с созданным проектом:

Обратите внимание на аргументы, возможно что то вы захотите поменять.

При необходимости доставляем тестовые данные для розработки, их есть два варианта. Основное отличие в наличии картинок. С картинками (sample data) лично мне нравится больше. Хотя для проверки производительности “фикстуры” подойдут лучше. Выбор за вами.

Для установки необходимо убедится в статусе деплоя и перевести его в разработчик, если это не так.

Sample data:

fixtures:

колличество генерируемых тектур можно менять, small.xml меняе на medium, large, and extra large.

Более подробно об этом можно почитать тут

https://devdocs.magento.com/guides/v2.3/config-guide/cli/config-cli-subcommands-perf-data.html

правим права доступа

Проверяем результат

http://magento2ce.loc

http://magento2ce.loc/admin

если ничего не произошло, выходим с воркспейса

и стартуем докер сет снова

в результате (с семпл датой) должно быть что то типа такого

Дальше настроим дебагер в шторме, для этого нам нужно зайти в настройки шторма и добавить в разделе languages & frameworks -> servers новый сервер, обозвать его laradock, указать хост 127.0.0.1 и прописать абсолюный путь к проекту на сервере.

Проверяем дебагер, должно работать.

На страничке, с котором мы брали докер, есть еще много чего интересного. Рекомендую почитать и попробовать. Надеюсь написанное кому то будет полезным.

Приятной разработки)

Leave a Reply