Public | Automated Build

Last pushed: 2 years ago
Short Description
magento based on php-5.5.-apache
Full Description

Docker image for Magento

This repo creates a Docker image for Magento.

Magento version

How to use

Use as standalone container

You can use docker run to run this image directly.

docker run -p 80:80 stratosys/magento

Then finish Magento installation using web UI. You need to have an existing MySQL server.

Magento is installed into /var/www/htdocs folder.

Use Docker Compose

Docker Compose is the recommended way to run this image with MySQL database.

A sample docker-compose.yml can be found in this repo.

  image: stratosys/magento
    - "80:80"
    - mysql
    - env
  image: mysql:5.6.23
    - env

Then use docker-compose up -d to start MySQL and Magento server.

Magento sample data

Installation script for Magento sample data is also provided.

Please note: Sample data must be installed before Magento itself.

Use /usr/local/bin/install-sampledata to install sample data for Magento.

docker exec -it <container id> install-sampledata

Magento 1.9 sample data is compressed version from Vinai/compressed-magento-sample-data.

Magento installation script

A Magento installation script is also provided as /usr/local/bin/install-magento. This script can install Magento without using web UI. This script requires certain environment variables to run:

Environment variable Description Default value (used by Docker Compose - env file)
MYSQL_HOST MySQL host localhost
MYSQL_DATABASE MySQL db name for Magento magento
MYSQL_USER MySQL username magento
MYSQL_PASSWORD MySQL password magento
MAGENTO_LOCALE Magento locale en_GB
MAGENTO_TIMEZONE Magento timezone Pacific/Auckland
MAGENTO_DEFAULT_CURRENCY Magento default currency NZD
MAGENTO_URL Magento base url http://local.magento
MAGENTO_ADMIN_FIRSTNAME Magento admin firstname Admin
MAGENTO_ADMIN_LASTNAME Magento admin lastname MyStore
MAGENTO_ADMIN_EMAIL Magento admin email
MAGENTO_ADMIN_USERNAME Magento admin username admin
MAGENTO_ADMIN_PASSWORD Magento admin password magentorocks1

If you want to use install-magento script and this images is started as a standalone container using docker run, make sure these environment variables are passed in docker run with -e switch.

After Docker container started, use docker ps to find container id of image stratosys/magento, then use docker exec to call install-magento script.

docker exec -it <container id> install-magento

If Docker Compose is used, you can just modify env file in the same directory of docker-compose.yml file to update those environment variables.

After calling install-magento, Magento is installed and ready to use. Use provided admin username and password to log into Magento backend.

If you use default base url (http://local.magento) or other test url, you need to modify your host file to map the host name to docker container. For Boot2Docker, use boot2docker ip to find the IP address.

Important: If you do not use the deafult MAGENTO_URL you must use a hostname that contains a dot within it (e.g, otherwise the Magento admin panel login won't work.

Docker Pull Command
Source Repository