此文作为简单的记录,给所有需要以docker运行nginx和php容器以部署一个php运行环境的朋友。
环境说明
此文针对的是linux(示例中使用的是ubuntu),理论上window下的docker也可以按着相同的步骤来进行。
PHP镜像准备
方法一 直接下载PHP镜像
Docker Hub已经有很多现成的php镜像,出于个人习惯,我一般使用php:7.4-fpm,运行命令如下:
docker pull php:7.4-fpm
如果不需要定制自己想要的内容,这一步就完成了我们所需要的PHP镜像了
方法二 编写Dockerfile部署镜像
很多时候我们需要构建一个有一定定制化的镜像,由于php7.X之后已经把对mysql的驱动支持已经拿掉了,直接使用官方镜像是缺少mysql的扩展支持的,因此需要自己进行一定的调整,我们可以先创建一个Dockerfile文件,内容如下:
FROM php:7.4-fpm
# Install pdo_mysql extension
RUN docker-php-ext-install pdo_mysql
# Enable pdo_mysql extension
RUN docker-php-ext-enable pdo_mysql
然后在该Dockerfile文件的目录下运行以下命令:
docker build . -t php74_fpm # 这里的php74_fpm是镜像名,可以按需自定义
不管是方法一还是方法二,成功构建镜像之后,都可以使docker images或docker image list查看当前机器已构建的镜像。
创建PHP容器
有了上述步骤部署好的PHP镜像之后,就可以创建PHP容器,按照正常使用习惯,需要加“-v”把容器和宿主机的路径进行映射(将下面的your_source_path改为实际使用的路径),方便添加需要运行的php文件:
docker run --name myphp74-fpm -v /your_sourc