docker php fpm 5.3,使用php:fpm制作docker镜像并添加扩展redis,pdo_mysql等

目前 php:fpm的php版本为7.4.8(具体使用的版本不同,可能需要扩展的不同), php:fpm 7.4.8版本中不带zip扩展,需要额外添加

1.创建Dockerfile

#基于PHP fpm

FROM php:fpm

# 创建者说明

MAINTAINER The PHP:FPM Project

# 下载redis,并编译

RUN curl -O "https://pecl.php.net/get/redis-5.3.1.tgz" \

&& tar -zxvf redis-5.3.1.tgz \

&& cd redis-5.3.1 \

&& phpize \

&& ./configure \

&& make \

&& make install

# 开启redis扩展

RUN docker-php-ext-enable redis

# 添加扩展

RUN docker-php-ext-install pdo_mysql

# 安装 zip扩展

RUN apt-get update && \

apt-get install -y --no-install-recommends libzip-dev && \

rm -r /var/lib/apt/lists/* && \

docker-php-ext-install -j$(nproc) zip

#生成php.ini

RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini

2.生成镜像, 如果不带 :版本号 会生成latest的版本,在Dockerfile所在目录下运行

#打包生成镜像

# . 为当前目录

# -t 设置标签 名称:版本号

docker build . -t php-fpm-new:v1

3.创建container, 等待生成镜像后,就可以创建container了, 创建命令 可以保存在一个readme文件中,以便以后查询docker生成使用的参数

# 根据镜像创建 container

# --name 设置container 名字

# -p 设置端口映射

# -v 配置代码映射

docker run --name php-fpm -p 9000:9000 \

-v /data/www:/var/www \

-v /data/logs:/var/log \

-v /etc/localtime:/etc/localtime:ro \

-d php-fpm-new:v1

这样就可以使用 php-fpm-new:v1的镜像生成出 php-fpm的container了

使用其他扩展,同样放置在 Dockerfile中安装就可以了。

之前有写过一篇没有使用dockerfile 安装 mysql8, php, nginx的: 使用docker的那些坑

(268)

文章为个人原创:如需转载,请注明出处。谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值