Public Repository

Last pushed: 2 years ago
Short Description
Image with apache2 and all necessary php5 dependencies to run OXID eShop
Full Description

Introduction

This image is intended to use with a mounted webroot (either locally or in a different container) and a separate MySQL database. This database can again either be hosted on the host or in a different container.

It contains PHP 5.3 (based on Ubuntu 12.04) and all necessary libraries to run OXID eShop. Additionally the extensions Zend Guard Loader and Zend Debugger are installed.

By using the special environment variables ENV_UID and ENV_GID you can set the IDs of the user www-data and the group www-data inside the container. This way www-data can e.g. use the same IDs as the file owner in your local webroot.

This image only runs on i386.

Usage

Create a local webroot and unpack your development shop into a new directory:

mkdir -p ~/www/my-dev-shop
cd ~/www/my-dev-shop
unzip OXID_SHOP_ARCHIVE.zip

Create a directory for the apache log files:

mkdir ~/apache2log

Now you can start your container:

docker run -d -p 8008:80 -v ~/www:/var/www \
    -v ~/apache2logs:/var/log/apache2 gpayer/apache-php53-oxid-i386 \
    -e ENV_UID=`id -u` -e ENV_GID=`id -g`

In this example the URL to your newly installed shop is:

http://localhost:8008/my-dev-shop

Database

You either use a database on your host or link your webserver container to a database container. The latter option of course changes your "run" command.

To use a local database you both have to find out the IP address of the docker0 network interface:

ip a

and configure mysql to listen on all network interfaces (change file my.cnf):

bind_address = 0.0.0.0

Now you can set the database parameters in the shop setup.

Of course this way is neither portable nor elegant. As soon as a standardized way to access the host via network ist implemented, it will be supported in the image and documented here.

SSH

Starting with version 0.9.1 there is ssh running inside the container. This is intended for situations where you have to start a command line script inside the shop context, e.g. an importer script.

The root password is test1234

This is not safe at all, but this container is intended for development purposes only and you should make sure that it is not accessible from outside.

Future features

  • Use a better init script (zombie cleanup, respawning of processes, etc.)
Docker Pull Command
Owner
gpayer