All Projects → meanbee → Docker Magento

meanbee / Docker Magento

🐳 Docker containers with all required Magento dependencies installed available as Apache and CLI

Projects that are alternatives of or similar to Docker Magento

Docker Magento
Docker image for Magento 1.6 to 1.9
Stars: ✭ 140 (+125.81%)
Mutual labels:  magento, docker-image
Bitnami Docker Magento
Bitnami Docker Image for Magento
Stars: ✭ 159 (+156.45%)
Mutual labels:  magento, docker-image
Magento2 Varnish Redis Ssl Docker Compose
Deploy Magento2 with Varnish Cache and Redis with SSL termination using Docker-compose tool
Stars: ✭ 37 (-40.32%)
Mutual labels:  magento, docker-image
Magento Xtest
Magento Testing Framework
Stars: ✭ 52 (-16.13%)
Mutual labels:  magento
Docker Bungeecord
A BungeeCord server to use in conjunction with itzg/minecraft-server
Stars: ✭ 52 (-16.13%)
Mutual labels:  docker-image
Dockviz
Visualizing Docker data
Stars: ✭ 1,104 (+1680.65%)
Mutual labels:  docker-image
Docker Yourls
📦 Docker Official Image packaging for YOURLS
Stars: ✭ 61 (-1.61%)
Mutual labels:  docker-image
Nominatim Docker
Fully-featured container for geocoding, reverse geocoding and address lookup based on Nominatim and Open Street Map data.
Stars: ✭ 52 (-16.13%)
Mutual labels:  docker-image
Odoo Shopinvader
Odoo Modules. Sorry Magento, Shopinvader is coming
Stars: ✭ 60 (-3.23%)
Mutual labels:  magento
Dokai
Collection of Docker images for ML/DL and video processing projects
Stars: ✭ 58 (-6.45%)
Mutual labels:  docker-image
Docker Spark Cluster
A Spark cluster setup running on Docker containers
Stars: ✭ 57 (-8.06%)
Mutual labels:  docker-image
Fabric Baseimage
Stars: ✭ 53 (-14.52%)
Mutual labels:  docker-image
Aem Core Cif Components
A set of configurations and components to get you started with AEM Commerce development
Stars: ✭ 60 (-3.23%)
Mutual labels:  magento
Dockerpi
A Virtualised Raspberry Pi inside a Docker image
Stars: ✭ 1,064 (+1616.13%)
Mutual labels:  docker-image
Docker Hugo
🐳 Docker Image for Hugo, a fast and flexible static site generator
Stars: ✭ 60 (-3.23%)
Mutual labels:  docker-image
Docker Kubectl
Containerized Kubernetes kubectl
Stars: ✭ 52 (-16.13%)
Mutual labels:  docker-image
Docker Laravel Queue Worker
A docker image for working with queues being monitored by supervisor as recommended by laravel.
Stars: ✭ 60 (-3.23%)
Mutual labels:  docker-image
Bitnami Docker Parse
Stars: ✭ 56 (-9.68%)
Mutual labels:  docker-image
Socat
Run socat command in alpine container
Stars: ✭ 53 (-14.52%)
Mutual labels:  docker-image
Fullstaq Ruby Docker
Docker image for Ruby build from Fullstaq based on Debian 9 and Debian 10.
Stars: ✭ 59 (-4.84%)
Mutual labels:  docker-image

meanbee/magento

Build Status Docker Build Status Docker Pulls Docker Stars

A collection of Docker images for running Magento application web servers and command line tools.

Supported tags and respective Dockerfile links

Usage

Since Magento requires several services working together, it recommended to use docker-compose with these images.

See docker-compose.yml for a sample configuration.

Options

Sendmail

All images have sendmail installed for emails, however it is not enabled by default. To enable sendmail, use the following environment variable:

ENABLE_SENDMAIL=true

Note: If sendmail has been enabled, make sure the container has a hostname assigned using the hostname field in docker-compose.yml or --hostname parameter for docker run. If the container does not have a hostname set, sendmail will attempt to discover the hostname on startup, blocking for a prolonged period of time.

Xdebug

Xdebug is installed and enabled on all the images by default. To configure it for remote debugging, start the container with the following environment variable set (replacing the {} placeholders with appropriate values):

XDEBUG_CONFIG="remote_connect_back=1 remote_enable=1 idekey={IDEKEY}"

Note: If you're using PhpStorm, your IDE Key is probably phpstorm.

Command Line Tools

The cli images have a number of useful Magento tools pre-installed:

  • composer - Install and manage PHP package dependencies
  • mageconfigsync - Backup and restore Magento System Configuration
  • magedbm - Create development backups of the Magento database using S3 and import them
  • magemm - Sync media images from an S3 backup
  • modman - Install Magento extensions
  • magerun - Run command line commands in Magento

All of the installed tools run in the working directory of the container, so don't forget to set it using the working_dir service configuration option in docker-compose.yml or the --workdir parameter to docker run.

Some of the commands use additional environment variables for configuration:

  • AWS_ACCESS_KEY_ID (magedbm, magemm) Credentials for S3 connections
  • AWS_SECRET_ACCESS_KEY (magedbm, magemm) Credentials for S3 connections
  • AWS_REGION (magedbm, magemm) S3 region to use
  • AWS_BUCKET (magedbm) S3 bucket to use for database backups
  • AWS_MEDIA_BUCKET (magemm) S3 bucket to fetch media images from

Building

A lot of the configuration for each image is the same, with the difference being the base image that they're extending from. For this reason we use php to build the Dockerfile from a set of templates in src/. The Dockerfile should still be published to the repository due to Docker Hub needing a Dockerfile to build from.

To build all Dockerfiles, run the builder.php script in the php:7 Docker image:

docker run --rm -it -v $(pwd):/src php:7 php /src/builder.php

Adding new images to the build config

The build configuration is controlled by the config.json file. Yeah element in the top level hash is a new build target, using the following syntax:

"<target-name>": {
    "version": "<php-version>",
    "flavour": "<image-flavour>",
    "files": {
        "<target-file-name>": {
            "<template-variable-name>": "<template-variable-value>",
            ...
        },
}

The target files will be rendered in the <php-version>/<image-flavour>/ directory.

The source template for each target file is selected from the src/ directory using the following fallback order:

  1. <target-file-name>-<php-version>-<image-flavour>
  2. <target-file-name>-<php-version>
  3. <target-file-name>-<image-flavour>
  4. <target-file-name>

Individual templates may include other templates as partials.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].