暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Docker构建PHP镜像第二篇

1407

 

前面跟大家分享过一篇构建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
    # 安装PHP
    RUN 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
    # 安装Composer
    RUN apk add curl
    RUN curl -sS https://getcomposer.org/installer | php
    RUN mv composer.phar usr/local/bin/composer
    # 复制执行文件
    COPY run.sh run.sh
    RUN chmod +x run.sh
    # 暴露端口
    EXPOSE 9000
    # 执行run.sh
    ENTRYPOINT ["/run.sh"]

    在这里我们以alpine:3.12为基础镜像,安装PHP7以及对应扩展,同时安装composer。

     


    02


    镜像启动文件

      #!/usr/bin/env sh
      set -e


      crond
      php-fpm7 -F

      镜像默认启动PHP7以及定时任务,由于我的项目需要用到定时调度,所以默认开启定时任务,方便我我直接映射定时任务命令进到容器。

       


      03


      构建镜像

      我们在当前构建目录下输入以下命令镜像构建
        docker build -t hongzhuangxian/php7.4 .
        docker push hongzhuangxian/php7.4 .

        等镜像构建完之后,便将镜像推到docker hub仓库。

        目前我已经将PHP容器切换到这个镜像,没有发现挖矿程序,大家如果生产上用到php-fpm-alpine相关镜像,大家请慎用是否存在挖矿程序。


        【图】来源于网络

        【文】https://hongzx.cn/home/blogShow/242

        Follow

        佛布朗斯基博客

        (佛布朗斯基)我是一只热爱编程的码农,已从事后端开发5年以上,也正因此,在日常工作学习中,会遇到蛮多问题需要解决,我希望透过记录,真实地将问题以及解决方法保存下来,更为高效地解决问题是我的初衷。


         

        文章转载自程序员技术笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论