This repository allows the creation of a Docker environment that meets Magento 1 requirements.
apache
: httpd:2.4 custom image with Apache (web server).blackfire
: blackfire/blackfire:latest image (application profiling).maildev
: djfarrelly/maildev:latest image (emails debugging).mongo
: mongo:latest image (additional database).mysql
: mysql:latest image (Magento database).php
: php:5.6-fpm custom image with PHP-FPM.redis
: redis:latest image (Magento session and caches).
Since this environment is designed for a local usage, it comes with features helping the development workflow.
The apache
and php
containers have a mount point used to share source files.
By default, the ~/www/
directory is mounted from the host. It's possible to change this path by editing the docker-compose.yml
file.
It's also possible to add custom virtual hosts: all ./apache/vhosts/*.conf
files are copied in the Apache directory during the image build process.
And the ./php/custom.ini
file is used to customize the PHP configuration during the image build process.
This process assumes that Docker Engine and Docker Compose are installed. Otherwise, you should have a look to Install Docker Engine before proceeding further.
$ git clone [email protected]:ajardin/docker-magento.git magento1
It's also possible to download it as a ZIP archive.
$ make env
$ make install
$ make ps
Name Command State Ports
--------------------------------------------------------------------------------------------
magento1_apache_1 httpd-foreground Up 0.0.0.0:443->443/tcp, 80/tcp
magento1_blackfire_1 blackfire-agent Up 8707/tcp
magento1_maildev_1 bin/maildev --web 80 --smtp 25 Up 25/tcp, 0.0.0.0:1080->80/tcp
magento1_mongo_1 docker-entrypoint.sh mongod Up 0.0.0.0:27017->27017/tcp
magento1_mysql_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp
magento1_php_1 docker-custom-entrypoint p ... Up 9000/tcp
magento1_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp
Note: You will see something slightly different if you do not clone the repository in a magento1
directory.
The container prefix depends on your directory name.