1.安装php7和安装docker就不赘述了。现在在docker中安装php7,首先拉取镜像:dockerpullphp:7.1-fpm这个镜像集成了php和php-fpm,可以看成是php-fpm,应该和nginx一起使用。先运行:dockerrun-p9000:9000--namephp7-v/docker/www:/www--privileged=true-dphp:7.1-fpm/docker/www:/www表示容器中的www目录它映射到宿主环境的/docker/www目录。这个时候容器的www目录就是我们网站的根目录,这个非常重要。后面的配置分析会解析到这个www目录2.安装nginx1.12dockerpullnginx:1.12运行前我们需要创建nginx配置目录和日志目录mkdir/docker/nginx/conf.dmkdir/docker/nginx/logs然后在conf.d目录下新建default.conf配置文件server{listen80;#这个www目录就是nginx容器根目录/www中的www目录;服务器名称本地主机;location/{indexindex.htmlindex.php;}error_page500502503504/50x.html;location=/50x.html{root/usr/share/nginx/html;}location~\.php${fastcgi_passphp:9000;fastcgi_indexindex.php;#这个www目录就是fpm容器中的php-www目录fastcgi_paramSCRIPT_FILENAME/www/$fastcgi_script_name;包括fastcgi_params;}}最后运行dockerrun-p80:80--namenginx-v/docker/www:/www-v/docker/nginx/conf.d:/etc/nginx/conf.d-v/docker/nginx/logs:/wwwlogs--linkphp7:php--privileged=true-dnginx:1.12注意nginx和php-fpm这两个容器需要被挂了宿主机环境中的同一个目录可以正确解析,即/docker/www目录3.安装composer有时候需要用composer安装php包,比如laravel,但是php里面没有co-fpm图像mposer所以我们再安装一个composer镜像dockerpullcomposerrunningcomposer容器不同于运行php或者nginx容器,它不需要后台运行,而是使用命令行交互方式,即不使用-d,使用-它。同时composer是在php项目和目录下运行的,所以还需要挂载/docker/www目录dockerrun-it--namecomposer-v/docker/www:/app--privileged=truecomposer
