Способы установки Magento 2 с использованием Docker: Docker Compose, команда Docker Run, Docker Swarm

Чтобы установить Magento 2 с помощью Docker, вы можете воспользоваться несколькими способами. Вот некоторые часто используемые методы с соответствующими примерами кода:

Метод 1: использование Docker Compose

  1. Создайте новый каталог для вашего проекта Magento:

    mkdir magento2 && cd magento2
  2. Создайте файл docker-compose.ymlи добавьте следующее содержимое:

    version: '3'
    services:
     web:
       image: magento/magento2:latest
       ports:
         - "80:80"
       volumes:
         - ./app:/var/www/html
       environment:
         - MAGENTO_RUN_MODE=developer
         - MAGENTO_ADMINURI=admin
       depends_on:
         - db
     db:
       image: mysql:5.7
       environment:
         - MYSQL_DATABASE=magento
         - MYSQL_USER=magento
         - MYSQL_PASSWORD=magento
         - MYSQL_ROOT_PASSWORD=root
       volumes:
         - ./mysql:/var/lib/mysql
  3. Выполните следующую команду, чтобы запустить контейнеры Magento:

    docker-compose up -d
  4. Войдите в Magento 2, открыв веб-браузер и перейдя по адресу http://localhost.

Метод 2: использование команды запуска Docker

  1. Создайте новый каталог для вашего проекта Magento:

    mkdir magento2 && cd magento2
  2. Выполните следующую команду, чтобы запустить контейнер Magento:

    docker run -d -p 80:80 \
     -e MAGENTO_RUN_MODE=developer \
     -e MAGENTO_ADMINURI=admin \
     -v $PWD/app:/var/www/html \
     --name magento2 \
     magento/magento2:latest
  3. Войдите в Magento 2, открыв веб-браузер и перейдя по адресу http://localhost.

Метод 3. Использование Docker Swarm

  1. Инициализировать Docker Swarm:

    docker swarm init
  2. Создайте новый каталог для вашего проекта Magento:

    mkdir magento2 && cd magento2
  3. Создайте файл docker-compose.ymlи добавьте следующее содержимое:

    version: '3'
    services:
     web:
       image: magento/magento2:latest
       ports:
         - "80:80"
       volumes:
         - ./app:/var/www/html
       environment:
         - MAGENTO_RUN_MODE=developer
         - MAGENTO_ADMINURI=admin
       deploy:
         replicas: 1
         restart_policy:
           condition: on-failure
     db:
       image: mysql:5.7
       environment:
         - MYSQL_DATABASE=magento
         - MYSQL_USER=magento
         - MYSQL_PASSWORD=magento
         - MYSQL_ROOT_PASSWORD=root
       volumes:
         - ./mysql:/var/lib/mysql
       deploy:
         replicas: 1
         restart_policy:
           condition: on-failure
  4. Разверните стек с помощью следующей команды:

    docker stack deploy -c docker-compose.yml magento2
  5. Войдите в Magento 2, открыв веб-браузер и перейдя по адресу http://localhost.