Обратите внимание, что для Elasticsearch вам понадобится как минимум 262144 памяти.
Сделать проверку: more /proc/sys/vm/max_map_count
Параметр vm.max_map_count
должен быть постоянно установлен в /etc/sysctl.conf - vm.max_map_count=262144
Откройте данный файл и введите данное значение, если необходимо, и выполните команду sudo sysctl -p
- Склонировать репозиторий
git clone https://github.com/amufazalov/magento2-docker.git
- Создать папку
src
командойmkdir src
- Склонировать ваш проект в
./src
- Переименовать
cp .env.example .env
. Установить нужные переменные окружения - Выполнить команду
bin/start
- Расположить БД вашего проекта в папке
./backup
под именемdump.sql
- Выполнить команду
bin/db-restore
- Выполнить команду
bin/composer install
- Выполнить команды
bin/magento setup:upgrade
,bin/magento setup:di:compile
иbin/magento setup:static-content:deploy -f
- Склонировать репозиторий
git clone https://github.com/amufazalov/magento2-docker.git
- Создать папку
src
командойmkdir src
- Переименовать
cp .env.example .env
. Установить нужные переменные окружения - Выполнить команду
bin/install
- Выполнить команду
bin/setup
При желании можно заменить дефлотный .gitignore, который идет вместе с Magento 2.
В репозитории будут храниться composer.json
, composer.lock
, папка app/code
c вашими модулями и app/design
с вашей темой.
cp .gitignore2.m2.custom src/.gitignore
Environment variable | Description | Default |
---|---|---|
MYSQL_HOSTNAME | MySQL hostname | db |
MYSQL_USER | MySQL username | root |
MYSQL_ROOT_PASSWORD | MySQL password | root |
MYSQL_DATABASE | MySQL database | magento |
CRYPTO_KEY | Magento Encryption key | secured |
MAGENTO_BASE_URL | Uri (e.g. http://localhost) | https://project.test/ |
MAGENTO_RUN_MODE | Deploy mode | developer |
MAGENTO_ADMIN_USER | Administrator username | admin |
MAGENTO_ADMIN_PASSWORD | Administrator password | a123456 |
MAGENTO_ADMIN_FIRSTNAME | Administrator first name | admin |
MAGENTO_ADMIN_LASTNAME | Administrator last name | admin |
MAGENTO_ADMIN_EMAIL | Administrator email address | [email protected] |
MAGENTO_BACKEND_FRONTNAME | The URI of the admin panel | manager |
MAGENTO_CURRENCY | Magento's default currency | USD |
MAGENTO_LANGUAGE | Magento's default language | en_US |
MAGENTO_TIMEZONE | Magento's timezone | Europe/Moscow |
COMPOSER_GITHUB_TOKEN | GitHub oauth token | None |
COMPOSER_MAGENTO_USERNAME | Public marketplace key | None |
COMPOSER_MAGENTO_PASSWORD | Private marketplace key | None |
ENABLE_MAILHOG | Start MailHog service for local development | true |
PHP_ENABLE_XDEBUG | Enable / Disable the XDebug | false |
VIRTUAL_PORT | Port of the server (80/443) | 443 |
SERVER_SSL | On / Off the SSL | on |
По умолчанию переменные окружения COMPOSER_GITHUB_TOKEN, COMPOSER_MAGENTO_USERNAME, COMPOSER_MAGENTO_PASSWORD не используются при локальной разработке, поэтому закомментированы
- Emails: http://localhost:8025
- Elasticsearch: http://localhost:9200
Пока не заморачивался с генерацией сертификата, поэтому браузер будет ругаться на невалидный сертификат.
Необходимы права на исполнение
bin/install
- Скачивание Мagento 2 последней версии с помощью композера. Можно передать параметром версию (bin/install 2.3
)bin/setup
- Установка Мagento 2.bin/log
- Просмотр логов (bin/log <container_name>
)bin/npm
- Работа с npm менеджером (bin/npm install
илиbin/npm <command>
)bin/gulp-init
- Инициализация gulp (будет использованhelper/package.json
)bin/gulp
- Работа с gulp (bin/gulp --tasks
- список команд,bin/gulp
- кастомные подсказки)bin/start
- запуск контейнеровbin/stop
- остановка контейнеровbin/down
- уничтожение контейнеровbin/clean-frontend
- очистка фронтендаbin/db-backup
- создание дампа текущей БД проектаdump.sql
в папкеbackup
bin/db-recreate
- создание чистой БДbin/db-restore
- импортирует БДdump.sql
из папкиbackup
. И заменяет базовый url на MAGENTO_BASE_URLbin/composer
- работа с композеромbin/change-composer
- переключение версии композера (1 или 2) (bin/change-composer 1
)bin/dev-urn-catalog-generate
- генерацияmisc.xml
для IDE PHPStormbin/x-debug
- вкл / выкл XDebug. Меняет значение переменной PHP_ENABLE_XDEBUG на противоположное и перезапускает контейнеры.
В случае установки Magento 2 ниже версии 2.4, нужно из bin/setup скрипта удалить строки
--search-engine=elasticsearch7
--elasticsearch-host=elasticsearch
--elasticsearch-port=9200
--elasticsearch-enable-auth=0
--elasticsearch-timeout=15
--elasticsearch-index-prefix=magento
bin/magento setup:store-config:set --base-url="http://localhost:8080/"
bin/magento setup:store-config:set --base-url-secure="https://localhost:8080/"
bin/magento admin:user:create --admin-user="newadmin" --admin-password="a123456789" --admin-email="[email protected]" --admin-firstname="firstname" --admin-lastname="lastname"
bin/magento sampledata:deploy