visualbox 虚拟机 CentOS 7.6 ip: 192.168.1.187php
本机已安装 nginx : nginx version: nginx/1.12.2 php : PHP 7.2.16 (cli) (built: Mar 10 2019 21:22:49) ( NTS )html
Alpine 操做系统是一个面向安全的轻型 Linux 发行版mysql
alpine linux官网 https://www.alpinelinux.org/ 简介 https://blog.csdn.net/bbwangj/article/details/81088231linux
建立 Dockerfile 在本身的 dockerfile 目录下,新建一个 Alpine mkdir Alpine cd Alpine touch Dockerfile vim Dockerfile 如下内容:nginx
FROM php:5.6.37-fpm-alpine3.7 RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \ && apk update\ && apk add --no-cache libmcrypt-dev freetype-dev libjpeg-turbo-dev \ git \ # libfreetype6-dev \ # libjpeg62-turbo-dev \ libpng-dev \ && docker-php-ext-install mcrypt mysqli pdo pdo_mysql mbstring bcmath zip opcache\ && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/ \ && docker-php-ext-install -j$(nproc) gd
生成镜像 docker build -t myphp5606:v1 .git
最终成功的结果应该是这样的 ..... OK: 34 MiB in 42 packages Removing intermediate container d09f8e2e89d8 ---> fd888a483d00 Successfully built fd888a483d00 Successfully tagged myphp5606:v1sql
docker imagesdocker
REPOSITORY TAG IMAGE ID CREATED SIZE myphp5606 v1 fd888a483d00 About an hour ago 77.4MB ...
生成一个 php 容器 ** 由于学习过程当中镜像和容器都已经比较多,先找个能用的容器名字和映射端口 ss -tlnp |grep 9002 确认没有占用!vim
sudo docker run -p 9002:9000 --name myphp5606 -v /usr/share/nginx/html:/usr/share/nginx/html -d myphp5606:v1
进入容器查看 docker exec -it myphp5606 shcentos
php -v 返回结果: PHP 5.6.37 (cli) (built: Sep 12 2018 04:00:31) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
php -m 返回结果: [PHP Modules] bcmath Core ctype curl ...
php -m |grep gd 返回结果: gd
打开 nginx 网站测试 修改 php 配置 9000 端口是本机的 php ,版本是 7.2 9002 端口是刚才安装的 docker PHP,版本是 5.6
vim nginx.conf
# fastcgi_pass 127.0.0.1:9000; fastcgi_pass 127.0.0.1:9002;
curl 127.0.0.1/index.php
http://192.168.1.187/index.php