docker pull php:7.2.3-fpmdocker pull nginx:1.13
2、运行php镜像,/opt/app 存放代码:
docker run --name phpfpm -d -v /opt/app:/app php:5.6-fpm
3、运行nginx容器:
docker run --name nginx_server -d -p 80:80 --link phpfpm:phpfpm -v /opt/nginx/nginx.conf:/etc/nginx/nginx.conf --volumes-from phpfpm ?nginx--link ?将两个容器连接在一起--volumes-from 将phpfpm挂载的代码也挂载到nginx上nginx关于php的配置如下:location ~ .php$ { ???root ?????????/www; ???fastcgi_pass ??phpfpm:9000; ???fastcgi_index ?index.php; ??fastcgi_param ?SCRIPT_FILENAME /app$fastcgi_script_name; ???include ???????fastcgi_params;}在nginx容器中,查看环境变量:root@8e3fae96d9fc:/# envPHPFPM_NAME=/nginx_server/phpfpmHOSTNAME=8e3fae96d9fcPHPFPM_ENV_PHPIZE_DEPS=autoconf ????????dpkg-dev ???????file ???????g++ ????????gcc ??libc-dev ?????make ???????pkg-config ?????re2cNJS_VERSION=1.13.9.0.1.15-1~stretchPHPFPM_PORT_9000_TCP_PROTO=tcpPHPFPM_ENV_PHP_INI_DIR=/usr/local/etc/phpNGINX_VERSION=1.13.9-1~stretchPHPFPM_ENV_PHP_URL=https://secure.php.net/get/php-7.2.3.tar.xz/from/this/mirrorPHPFPM_ENV_PHP_LDFLAGS=-Wl,-O1 -Wl,--hash-style=both -piePWD=/HOME=/rootPHPFPM_ENV_PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2PHPFPM_PORT_9000_TCP_ADDR=172.17.0.3PHPFPM_PORT=tcp://172.17.0.3:9000PHPFPM_ENV_PHP_MD5=PHPFPM_PORT_9000_TCP=tcp://172.17.0.3:9000TERM=xtermPHPFPM_ENV_PHP_VERSION=7.2.3SHLVL=1PHPFPM_ENV_PHP_SHA256=b3a94f1b562f413c0b96f54bc309706d83b29ac65d9b172bc7ed9fb40a5e651fPHPFPM_PORT_9000_TCP_PORT=9000PHPFPM_ENV_PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binPHPFPM_ENV_GPG_KEYS=1729F83938DA44E27BA0F4D3DBDB397470D12172 B1B44D8F021E4E2D6021E995DC9FF8D3EE5AF27FPHPFPM_ENV_PHP_EXTRA_CONFIGURE_ARGS=--enable-fpm --with-fpm-user=www-data --with-fpm-group=www-dataPHPFPM_ENV_PHP_ASC_URL=https://secure.php.net/get/php-7.2.3.tar.xz.asc/from/this/mirror_=/usr/bin/env
docker 构建nginx + php
原文地址:http://blog.51cto.com/11962757/2085647