1. 程式人生 > >docker 構建nginx + php

docker 構建nginx + php

docker php

1、先pull鏡像:

docker pull php:7.2.3-fpm
docker 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:/# env
PHPFPM_NAME=/nginx_server/phpfpm
HOSTNAME=8e3fae96d9fc
PHPFPM_ENV_PHPIZE_DEPS=autoconf         dpkg-dev        file        g++         gcc   libc-dev      make        pkg-config      re2c
NJS_VERSION=1.13.9.0.1.15-1~stretch
PHPFPM_PORT_9000_TCP_PROTO=tcp
PHPFPM_ENV_PHP_INI_DIR=/usr/local/etc/php
NGINX_VERSION=1.13.9-1~stretch
PHPFPM_ENV_PHP_URL=https://secure.php.net/get/php-7.2.3.tar.xz/from/this/mirror
PHPFPM_ENV_PHP_LDFLAGS=-Wl,-O1 -Wl,--hash-style=both -pie
PWD=/
HOME=/root
PHPFPM_ENV_PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2
PHPFPM_PORT_9000_TCP_ADDR=172.17.0.3
PHPFPM_PORT=tcp://172.17.0.3:9000
PHPFPM_ENV_PHP_MD5=
PHPFPM_PORT_9000_TCP=tcp://172.17.0.3:9000
TERM=xterm
PHPFPM_ENV_PHP_VERSION=7.2.3
SHLVL=1
PHPFPM_ENV_PHP_SHA256=b3a94f1b562f413c0b96f54bc309706d83b29ac65d9b172bc7ed9fb40a5e651f
PHPFPM_PORT_9000_TCP_PORT=9000
PHPFPM_ENV_PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PHPFPM_ENV_GPG_KEYS=1729F83938DA44E27BA0F4D3DBDB397470D12172 B1B44D8F021E4E2D6021E995DC9FF8D3EE5AF27F
PHPFPM_ENV_PHP_EXTRA_CONFIGURE_ARGS=--enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data
PHPFPM_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