获取php基础镜像
拉取基础镜像,选用php:7.4-alpine基础镜像
docker pull php:7.4-alpine
生成容器进入容器
docker run -itd --name php php:7.4-alpine
docker exec -it php sh
安装npm
修改apk镜像源
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
安装npm
- 手动安装npm所需依赖
- 画重点 –virtual,先安装需要的依赖,后面再删掉减小镜像大小
apk add --no-cache --virtual .npm c-ares libgcc libstdc++ icu-libs libuv nodejs-current
apk add --no-cache npm
- 删除安装npm时安装的依赖,最大限度的减少镜像体积
apk del .npm
安装所需php扩展
docker-php-ext-install pdo_mysql bcmath
apk add --no-cache --update --virtual .phpize-deps $PHPIZE_DEPS
pecl install -o -f redis
apk del .phpize-deps
rm -rf /tmp/pear
docker-php-ext-enable redis
打包容器生成新docker镜像
docker commit -m 'add npm' php php:npm