Skip to content

jetrails/docker-magento-alpine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker Magento Alpine

Docker development environment for staging Magento 1 & Magento 2 on Alpine 3.6

Disclaimer

The docker containers within this repository were build for development purposes only and should NOT be used in production. This product is licensed under the MIT LICENSE and comes with no warranty, use at your own risk.

Supported tags and respective Dockerfile links

Getting Started

Using shared volumes on MacOS with Docker is painfully slow. That is why we use docker-sync for sharing volumes with and between docker containers. While this solution has a slightly longer initial up-time, it makes up for it when the containers are started and initially synced. We also use docker-compose to build/run our docker containers because of it's simplicity. Sample docker-compose files for Magento 1 and Magento 2 can be found in the dist directory. Similarly, there is a docker-sync.yml file that can be used alongside either configuration. Assuming that your Magento installation lives in public_html of your project folder, and the appropriate docker-compose.yml and docker-sync.yml files are found in the same directory, then you can start docker-sync and run the docker containers using the following sequence of commands:

docker-sync start
docker-compose up -d

Shutting them down is just as easy:

docker-compose down
docker-sync stop
docker-sync clean # Only if not starting again

Environmental Variables

All docker images, except for the php-cli containers, have the ability to tail their container's relevant logs if the VERBOSE=true flag is passed as an environmental variable. Passing it to the container is optional since by default VERBOSE=false. It is explicitly stated within the sample docker-compose.yml file for documentation purposes only. Please also note that you will only be able to see the verbose output of these containers if you run docker-compose without the detach flag, i.e. docker-compose up.

mysql

Below are the possible environment variable that can be passed to the mysql docker container with some sample values. If non are passed, then only the root user will exist with the default password of mysql.

  • MYSQL_ROOT_PASSWORD=mysql
  • MYSQL_USER_NAME=magento_db_user
  • MYSQL_USER_PASSWORD=password123
  • MYSQL_DATABASE=magento

nginx

When NGINX starts, it copies the appropriate configuration file so it can be used. This configuration file is determined by the environment variable below. If no variable is passed then the below value is set.

  • MAGENTO_VERSION=2

Build Process

Building our docker images is easy since we use docker-compose to do it for us. Simply run docker-compose -f build.yml build to build the docker containers from source. Once built, and with proper permission, feel free to push them to docker using docker push jetrails/magento-alpine:<tag>.

Issues / Feature Requests

If any issues come up or any feature are requested, please feel free to open up an issue through Github. For all other inquiries, feel free to email us at development@jetrails.com.