
前面跟大家分享过一篇构建PHP镜像的文章,今天再次跟大家分享构建PHP镜像的文章,源于上周我的PHP容器发现了挖矿程序,我尝试删除病毒重新运行容器还是发现挖矿程序,所以我怀疑我用的基础镜像原本就有问题,所以我打算直接使用alpine做为基础镜像来构建PHP镜像,我们分别创建Dockerfile(构建镜像文件)、run.sh(镜像启动文件)。


01
构建镜像文件
FROM alpine:3.12#镜像维护者LABEL MAINTAINER="hzx790254812@gmail.com"# 时区RUN echo "Asia/Shanghai" >/etc/timezone# 配置阿里云镜像源,加快构建速度。RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" etc/apk/repositories# 升级RUN apk update# 安装PHPRUN apk add php7# 安装扩展RUN apk add --update-cache \php \php-fpm \php-bcmath \php-bz2 \php-ctype \php-curl \php-exif \php-gd \php-gettext \php-iconv \php-mbstring \php-session \php-phar \php-xml \php-xmlreader \php-fileinfo \php-openssl \php-opcache \php-pcntl \php-json \php-pdo \php-pdo_mysql \php-mysqlnd \php-zip \php-xmlrpc \php-mysqli \php-zlib \php7-redis \php7-imagick# 安装ComposerRUN apk add curlRUN curl -sS https://getcomposer.org/installer | phpRUN mv composer.phar usr/local/bin/composer# 复制执行文件COPY run.sh run.shRUN chmod +x run.sh# 暴露端口EXPOSE 9000# 执行run.shENTRYPOINT ["/run.sh"]
在这里我们以alpine:3.12为基础镜像,安装PHP7以及对应扩展,同时安装composer。
02
镜像启动文件
#!/usr/bin/env shset -ecrondphp-fpm7 -F
镜像默认启动PHP7以及定时任务,由于我的项目需要用到定时调度,所以默认开启定时任务,方便我我直接映射定时任务命令进到容器。
03
构建镜像
docker build -t hongzhuangxian/php7.4 .docker push hongzhuangxian/php7.4 .
等镜像构建完之后,便将镜像推到docker hub仓库。
目前我已经将PHP容器切换到这个镜像,没有发现挖矿程序,大家如果生产上用到php-fpm-alpine相关镜像,大家请慎用是否存在挖矿程序。
文章转载自程序员技术笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





