Alpine PHP Dockerfile

Docker PHP memcache

单曲循环石进的《夜的钢琴曲八》让心慢慢回归平静。
回想一下,自 15 年10 月 26 日开始从事 IT 工作至今已经将近四年,除了人老一点头发少一点,其它的没啥变化。
然而,距之前写 Jacoco 相关的简书已过去两年,这期间仅写过两篇 iOS 打包持续集成的简书,就再也没写过
了,看来这几年真的是毫无长进,唉~
近期,在学习 Kubernetes,就把使用过程遇到的问题记录下来,供大家参考

PHP Dockerfile

基于 Alpine 基础镜像构建的 PHP 镜像,期间遇到很多问题,比如,安装 php-memcachephp-redisPHP 依赖的时候,根据 Alpine 的版本不同安装依赖的问题也不同。
以下仅根据 Alpine 最新镜像构建的 PHP 镜像,若需要 Alpine 每个版本所对应的 PHP 版本,请前往 Alpine Linux Packages 中查看,根据自行所需版本调整 Apline 镜像版本

ARG VERSION=latest
FROM alpine:${VERSION}
LABEL author="naisisor <naisi.future@gmail.com>"

# 安装基础 package
RUN set -x \
    && sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
    && apk update \
    && apk add --no-cache tzdata vim openssl openssh openssl-dev bash curl \
    # 变更时区
    && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && apk del tzdata
# 安装 PHP 
RUN set -x \
    && apk update \
    && apk add --no-cache php7 php7-fpm php7-pear php7-dev \
        php7-curl php7-json php7-phar php7-iconv php7-openssl php7-dom php7-mbstring \
        php7-mysqlnd php7-mysqli php7-pdo_mysql php7-simplexml php7-xmlrpc php7-xmlreader \
        php7-xmlwriter php7-opcache php7-zlib php7-zip php7-gd php7-session php7-redis \
        php7-memcached php7-tokenizer php7-fileinfo php7-ctype php7-bcmath php7-mcrypt \
        php7-bz2 php7-exif php7-gettext php7-ftp php7-pcntl php7-posix php7-shmop php7-sockets \
        php7-exif php7-sysvmsg php7-sysvsem php7-sysvshm php7-wddx php7-xsl
# 安装 & 配置 composer
RUN set -x \
    && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin \
    && mv /usr/local/bin/composer.phar /usr/local/bin/composer \
    && composer config -g repo.packagist composer https://packagist.phpcomposer.com
# 安装 php-memcache
ARG MEMCACHE_VERSION=4.0.4
ARG MEMCACHE_DIR=/data/pecl-memcache-${MEMCACHE_VERSION}
ADD https://github.com/websupport-sk/pecl-memcache/archive/${MEMCACHE_VERSION}.tar.gz /data/
RUN set -x \
    && apk update \
    # 安装编译需要依赖的库
    && apk add --no-cache gcc make linux-headers libc-dev \
    && cd /data \
    && tar -xf ${MEMCACHE_VERSION}.tar.gz \
    && rm -rf ${MEMCACHE_VERSION}.tar.gz \
    && cd ${MEMCACHE_DIR} \
    && phpize \
    && ./configure --with-php-config=/usr/bin/php-config --disable-memcache-session \
    && make && make install \
    && echo "extension=memcache.so" >> /etc/php7/php.ini \
    # 清除缓存、删除无用 package
    && make clean all \ 
    && apk del gcc make linux-headers libc-dev \
    && rm -rf ${MEMCACHE_DIR}

EXPOSE 80 443
CMD [ "/bin/sh" ]

问题记录

  1. php-memcache 安装
    构建 PHP 镜像的过程中,我所遇到的难点基本上就是在安装 php-memcache 依赖。
    搜了大量的资料,发现很多人都遇到了以下问题,但提供的方式能以解决我的问题
    
    • 错误日志:php_session_register_moudle: symbol not found。最终在这里看到了 memcache installation php 中的解决办法,在安装时只需加上 --disable-memcache-session 就可以解决,如下注释:
      Note:
      可以关闭 memcache session 处理器的支持。使用 pecl install 进行安装时,在静态编译到 php 中时
      使用选项 --disable-memcache-session 可以关闭 memcache 的 session 支持(默认时开启的)。
      
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容