Skip to content

This file is provided as an example development environment using Mage Inferno Magento 2 Docker Images.

License

Notifications You must be signed in to change notification settings

guoyu07/magento2-docker-compose

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 

Repository files navigation

This docker-compose.yml file is provided by Mage Inferno

Docker Hub

View our Docker Hub images at https://hub.docker.com/u/mageinferno/

Usage

This file is provided as an example development environment using Mage Inferno Magento 2 Docker Images.

Composer Setup

Uncomment the composer line from appdata to mount a .composer directory to the www-data user home directory. Please first setup Magento Marketplace authentication (details at http://devdocs.magento.com/guides/v2.0/install-gde/prereq/connect-auth.html).

Place your auth token at ~/.composer/auth.json with the following contents, like so:

{
    "http-basic": {
        "repo.magento.com": {
            "username": "MAGENTO_PUBLIC_KEY",
            "password": "MAGENTO_PRIVATE_KEY"
        }
    }
}

Then, just set M2SETUP_USE_ARCHIVE to false in your docker-compose.yml file.

Composer-less, No-Auth Setup

If you don't want to use Composer or setup the auth keys above, no worries. Mage Inferno install script uses Nexcess' hosted Magento archives for a Composer-less install process. Just set the M2SETUP_USE_ARCHIVE environment variable to true when running setup.

Running Setup

Using the above docker-compose.yml file, all you need to do is run one line to install Magento 2:

docker-compose run --rm setup

You may modify any environment variables depending on your requirements.

Data Volumes

Your Magento source data is persistently stored within Docker data volumes. For local development, we advise copying the entire contents of the appdata data volume to your local machine (after setup is complete of course). Since you shouldn't be modifying any of these files, this is just to bring the fully copy of the site back to your host:

docker cp CONTAINERID:/srv/www ./

Then, just uncomment the /www/app:/srv/www/app within your docker-compose.yml file (appdata > volumes) to mount your local app directory to the Docker data volume, then just restart your containers:

docker-compose up -d app

This will restart your container with app mounted from your host machine, so any edits to this directory will correctly sync with your Docker volume.

Running Magento CLI tool

We've setup scripts to aid in the running of Magento CLI tool with the correct permissions. To run the command line tool, you would connect as any other Docker Compose application would:

docker-compose exec phpfpm ./bin/magento

or with straight Docker command:

docker exec NAME_OF_PHPFPM_CONTAINER ./bin/magento

You can easily set these up as aliases inside your ~/.bash_profile file (or a similar script) as so:

alias magento='docker-compose exec phpfpm ./bin/magento'

This will allow you to clear the cache by running the following command right in terminal:

magento cache:flush

About

This file is provided as an example development environment using Mage Inferno Magento 2 Docker Images.

Resources

License

Stars

Watchers

Forks

Packages

No packages published