First you want to install a good environment docker
1 get centos mirror.
docker search centos
Select the first official image.
docker pull docker.io/centos
New Mirror mount directory, add redis extended source php56 nginx and php.
2 boot image.
docker run -v /root/php56:/root/php56 --name centos-php56-nginx docker.io/centos tailf /etc/hosts
After starting the terminal will hang, we'll open a terminal window to see mirrored boot situation.
Description mirrored boot success
Into the container:
docker exec -it centos-php56-nginx /bin/bash
Directory also mapped success.
Extracting each source, extract zip is found not mounted unzip
Install unzip
yum install unzip
Try to unpack again, success.
Php install dependencies
yum install -y autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel curl curl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel
Into the php source directory
./configure --prefix=/usr/local/webserver/php/ --localstatedir=/usr/local/var --sysconfdir=/usr/local/webserver/php/ --with-config-file-path=/usr/local/webserver/php/ --with-config-file-scan-dir=/usr/local/webserver/php/etc/ --with-pear=/usr/local/webserver/php/pear --enable-bcmath --enable-calendar --enable-dba --enable-exif --enable-ftp --enable-fpm --enable-intl --enable-mbregex --enable-mbstring --enable-mysqlnd --enable-pcntl --enable-phpdbg --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-zip --with-curl --with-fpm-user=_www --with-fpm-group=_www --with-freetype-dir=/usr/local/webserver/freetype --with-gd --with-gettext=/usr/local/webserver/gettext --with-jpeg-dir=/usr/local/webserver/jpeg --with-mcrypt --with-mhash --with-mysqli=mysqlnd --with-mysql=mysqlnd --with-openssl --with-pdo-mysql=mysqlnd --with-pic --with-png-dir=/usr/local/webserver/libpng --with-xmlrpc
报错 configure: error: no acceptable C compiler found in $PATH
yum install gcc
An error
configure: error: Cannot find OpenSSL's <evp.h>
yum install openssl openssl-devel libmcrypt
An error
configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
yum install -y libicu-devel
An error
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
yum -y install gcc+ gcc-c++
An error
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
https://www.cnblogs.com/achengmu/p/9312019.html
Specified, mcrypt directory
./configure --prefix=/usr/local/webserver/php/ --localstatedir=/usr/local/var --sysconfdir=/usr/local/webserver/php/ --with-config-file-path=/usr/local/webserver/php/ --with-config-file-scan-dir=/usr/local/webserver/php/etc/ --with-pear=/usr/local/webserver/php/pear --enable-bcmath --enable-calendar --enable-dba --enable-exif --enable-ftp --enable-fpm --enable-intl --enable-mbregex --enable-mbstring --enable-mysqlnd --enable-pcntl --enable-phpdbg --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-zip --with-curl --with-fpm-user=_www --with-fpm-group=_www --with-freetype-dir=/usr/local/webserver/freetype --with-gd --with-gettext=/usr/local/webserver/gettext --with-jpeg-dir=/usr/local/webserver/jpeg --with-mcrypt=/usr/local/libmcrypt --with-mhash --with-mysqli=mysqlnd --with-mysql=mysqlnd --with-openssl --with-pdo-mysql=mysqlnd --with-pic --with-png-dir=/usr/local/webserver/libpng --with-xmlrpc
by
make && make install
Install PHP redis extensions
cd /root/php56/phpredis-develop/
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
3 install nginx
Enter nginx source directory
./configure --prefix=/usr/local/webserver/nginx
make && make install
start up
/usr/local/webserver/nginx/sbin/nginx
Finished, view the container id.
docker ps -a
This container for storing a mirror image
docker commit -m 'php5.6.39 phpredis nginx1.14.2' 121e08887e3d centos-php56-nginx:v1.0
Start the test
docker run -d centos-php56-nginx:v1.0 tailf /etc/hosts
To start the official nginx php.ini configuration file and mapped to the container / usr / local / webserver / directory