- Nginx 1.9.9
- ngx_pagespeed
- nginx-upload-progress-module
- PHP7.0-FPM
- Installed php modules
- Composer
- MariaDB 3.2
- MongoDB 3.2
- Memcached 1.4.25
- Redis 3.0.6
- Let's Encrypt docker container
If you need only one database, use the appropriate branches.
#mysql
git clone -b mysql https://github.com/lagun4ik/docker-php-dev-stack.git
#mongo
git clone -b mongo https://github.com/lagun4ik/docker-php-dev-stack.git
#mongo and mysql
git clone -b master https://github.com/lagun4ik/docker-php-dev-stack.git
Rename _domains.json
to domains.json
and change the settings in it.
docker-compose -p php-dev-stack up -d
Install phpMyAdmin, phpMemcachedAdmin, pagespeedAdmin, phpRedisAdmin
./setup-utilities.sh
Go to http://you_server_ip/
docker-compose -p php-dev-stack ps
Enter the name of your container.
#Show container names
docker ps | grep -P "\s([^\s]*php-fpm[^$]\s)|(IMAGE)"
#Run bash in container
docker run --rm -it \
--volumes-from php-dev-stack_data -w /var/www/ \
YOU_IMAGE_NAME bash
Enter the name of your container.
#Show image name
docker ps | grep -P "\s([^\s]*nginx[^\s]*$)|(NAMES$)"
#Restart nginx
docker exec -t YOU_CONTAINER_NAME bash -c "service nginx restart"
# all logs
docker-compose -p php-dev-stack logs
# specific service
docker-compose -p php-dev-stack logs nginx
Use mongo
or mysql
as a host for the database connection.
$dbh = new PDO('mysql:host=mysql;dbname=' . $db, $user, $pass);
$manager = new MongoDB\Driver\Manager("mongodb://mongo");
Change the value mem_limit
in the file docker-compose.yml
.
bcmath
bz2
Core
ctype
curl
date
dom
exif
fileinfo
filter
gd
gettext
hash
iconv
intl
json
libxml
mbstring
mcrypt
memcached
mongodb
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
recode
redis
Reflection
session
SimpleXML
sockets
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib
Zend OPcache
##Thanks @ProPheT777