Public | Automated Build

Last pushed: 2 years ago
Short Description
PHP 5.3 with MySQL 5.1 running on CentOS 6 with modified apache & php configs.
Full Description

Docker php5.3 for development

Docker Hub

Here's the link to Docker Hub build

Basic setup

Image is based on Centos 6, uses php 5.3 and mysql 5.1. It makes following configuration changes:

Apache config (/etc/httpd/conf/httpd.conf)

Timeout 120                                         # for elaborate scripts to complete without timeout
ServerName                               # to supress apache warning about wrong server name
DirectoryIndex index.html index.html.var index.php  # for accepting index.php as index file
EnableSendfile Off                                  # for better file syncing between host and container
AllowOverride All                                   # for mod_rewrite to work

PHP config (/etc/php.ini)

Increase values and enable some features

short_open_tag = On
max_execution_time = 300
memory_limit = 512M
post_max_size = 100M
enable_dl = On
upload_max_filesize = 200M
max_file_uploads = 200

MySQL config (/etc/my.cnf)

Increase packet size for huge data loads



This image is designed to work with Docker v2.

Create docker-compose.yml file in the root of your application (like the one below). Specify volumes that will be attached to container.

The volume attached as /sql on container will act as a .sql file storage. In the initial container launch, docker will try to search for latest .sql file in that directory and import it into newly created database. Upon each container stop, sql backup file will be placed in that directory with timestamp & databasde name in the filename (e.g. mydatabase_docker_dump_2016-06-24_15.16.17.sql)

docker-compose.yml example:

version: '2'
    image: banesto/docker-php5.3-dev
    container_name: web
      - .:/var/www/html
      - ./.database:/var/lib/mysql
      - ./sql:/sql
      - "80:80"
      - "33066:3306"
    stdin_open: true
      DB_NAME: mydatabase
      DB_USER: database_user
      DB_PASS: Pa55wrD


  • .:/var/www/html - sets up applications root directory as main project on container
  • ./.database:/var/lib/mysql - directory to store mysql database files in it in order to preserve data after container is destroyed
  • ./sql:/sql - directory for storing sql dumps - each time container stops, there will be created one sql dump with full

Of course you can change names of the directories on you application root directory (it could be .data instead of .database for example).


Set up all the credentials for database to use in your app.

Docker Pull Command
Source Repository