临近国庆,又回过头来鼓捣docker,因为从事php开发,所以还是先从环境入手。
本来考虑搭建php+mysql+nginx+redis全部,但是由于使用的都是公司的mysql和redis,故只搭建php+nginx,因为我的操作系统是win10,一下操作都是在win下完成的。
首先先拉取镜像,当然你也可以自己编写dockerfile去构建自己的镜像。这里先拉取nginx镜像:
docker pull nginx
这里会默认拉取最新的镜像,完成后可以使用docker images查看已有镜像。
接下来安装php,跟nginx镜像一样,可以通过直接拉取镜像完成操作,拉取的php镜像只有部分扩展,自己需要的扩展需要进入容器里面去安装,官方给出了三种安装php扩展的方法:
docker-php-ext-install
pecl install name-xxx
curl 源码安装
但是通过这种方式运行的php存在一个问题,那就是重新创建的镜像或重新运行的容器,是没有上次安装好的扩展的,需要重新安装,所以,这里采用dockerfile构建自己的php镜像。
先创建一个目录,然后在这个目录里面创建dockerfile文件,文件内容如下:
FROM php:7.2-fpm AS php7.2
RUN docker-php-ext-install mysqli pdo pdo_mysql \
&& pecl install redis-5.0.0 \
&& pecl install yaf-3.0.8 \
&& p