Magento a annoncé la fin du support de Magento1 en juin 2020. Il est donc temps de préparer votre migration vers Magento2. Aujourd’hui, avec les nouveaux logiciels comme Docker, il est extrêmement simple et rapide d’installer un Magento2 en local.
Docker est un logiciel libre et gratuit permettant de lancer des applications dans des conteneurs jetables. Cela signifie qu’il n’est plus nécessaire d’installer et de configurer une VM (machine virtuelle) pour commencer à développer. Les gains de temps et de mémoires sont assez impressionnant.
Voici donc un tutoriel vous guidant dans l’installation en local de Magento2 avec Docker.
Pré-requis
- Commande Git
- Commande docker et docker-compose Linux | Mac OS | Windows pro
1/ Le docker-compose de Magento2
git clone https://github.com/webkul/magento2-docker-compose

version: '3'
services:
web_server:
build:
context: ./web_server/
container_name: apache2
volumes:
- ./magento2:/var/www/html
- ./web_server/supervisord.conf:/etc/supervisor/conf.d/supervisord.conf
ports:
- "80:80"
links:
- database_server
database_server:
build:
context: ./database_server/
args:
- mysql_password=mention_your_mysql_root_password
- mysql_database=mention_your_database_name
container_name: mysql
volumes:
- ./database_server/supervisord.conf:/etc/supervisor/conf.d/supervisord.conf
- ./database_server/mysql.sh:/etc/mysql.sh
ports:
- "3306:3306"
Avant tout, pensez à changer le « mysql_password » et la « mysql_database« .
Le docker-compose possède deux services qui sont :
- Apache2 (votre serveur web) qui sera disponible sur le port 80. Ce service contiendra donc votre code Magento2.
- Mysql (votre base de données) qui sera disponible sur le port 3306.
2/ Télécharger Magento2
Rendez-vous sur la page de téléchargement Magento2. Téléchargez la version que vous souhaitez (créer un compte si nécessaire) et décompressez l’archive dans le dossier magento2-docker-compose/magento2/.
3/ Démarrer votre conteneur docker et installer Magento2
Allez à la racine de votre projet et tapez cette commande :
docker-compose up -d
Vous allez télécharger les images qui vous manque et vos conteneurs vont donc ensuite démarrer (si c’est la première fois que vous utilisez l’image, le téléchargement de celle-ci peut être long, ce sera beaucoup plus rapide ensuite). Pour vérifier que tout est ok, faites :
docker ps
Normalement, vous devriez avoir apparaître vos 2 conteneurs :
- magento2-docker-compose_web_server
- magento2-docker-compose_database_server
C’est parti ! Allons donc sur l’URL http://localhost/setup pour installer Magento 2 (n’oubliez pas de spécifier le port si vous n’utilisez pas le port 80).

Suivez donc les étapes les unes à la suite des autres et corriger les erreurs lorsqu’elles apparaissent. Pour la database, veuillez renseigner ces informations :

Pour le Database Server Password et la Database Name, et bien c’est vous qui l’aviez choisi à l’étape 1. À remplir de la même manière ici donc.
Une fois arrivé à l’étape 6, cliquez sur « Install Now » et attendez que l’installation soit finie.
… Voilà ! Vous venez d’installer Magento2 en local à l’aide de Docker. Rien de bien compliqué, non ?
Pour arrêter vos conteneurs, tapez :
docker-compose stop
ou
docker stop nomDuConteneur
Tant que vous ne supprimez pas votre conteneur, votre base de données sera sauvegardée et vous n’aurez pas à relancer l’installation à chaque fois. En effet, revenez à la racine de votre projet et tapez la commande (docker start nomDuConteneur) pour relancer votre projet. Docker rime avec bonheur ! 😀
N’hésitez pas à me contacter dans les commentaires dans le cas où vous ayez rencontré des problèmes. 🙂
Si cela vous intéresse, allez voir comment déployer un wordpress dans le cloud totalement gratuitement.
Thanks extremely valuable. Will share site with my pals.
Bonjour
Merci pour votre article
Que pensez-vous d’installer Magento 2 avec docker pour un environnement de production ?
Curieusement je ne trouve pas beaucoup d’information sur Google 🙁
Merci pour votre réponse
Bonjour,
Veuillez m’excuser pour la réponse tardive.
Magento est gourmand en terme de RAM et Docker aussi. Ce qui ne fait à mon sens pas un bon mélange. Personnellement, je privilégie docker pour un environnement de développement.
Geoffrey