docker 构建php-fpm IMages(dockerfile)

Posted Linux Dream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker 构建php-fpm IMages(dockerfile)相关的知识,希望对你有一定的参考价值。

 好久没写blog   做什么?   复习nginx  zabbix  docker-compos mariadb  学习 jenkins ansible ELK  k8s (kubeadm)  好了也该静下心来整理整理 !  好了不说了 上demo

 

最近看到微信公众号一篇 :  为多个PHP-FPM容器量身打造单一Nginx镜像       

                                                                          

 

   已事我就想拿来配个php-fpm 镜像来搭个LNMP 但事已愿为  到docker,hub   docker stroe.  阿里镜像 折腾了好几个小时 不是nginx php-fpm 就是 nginx ph-fpm mysql 全打成一个images  或就是 php not php-mysql     无语,心累,  找不到自己心仪镜像  为有自己动手 来构建一下  php-fpm images

 

准备环境

宿主机(172.16.0.66) 已编译好  nginx php  

nginx-1.14    /usr/local/nginx

 php-5.3.29   /usr/local/php (1:  基础镜像yum 扩展php模块,gd ,php-mysql  2:宿主机编译php  3: 整合 基础镜像和编译完成源码包 )

mariadb   172.16.0.30:3306

project    /usr/www/html (网站配置文件已做修改connect DB)

docker version 17.05.0-ce

实现方式:

  宿主机启动 nginx , 连接方式 容器内 php ,  php  连接后端DB mariadb   172.16.0.30:3306  数据库已导入

dockerfile

# This is a commit

FROM ansible/centos7-ansible:latest 

MAINTAINER love coding <237356573@qq.com>

USER root

RUN  groupadd -g 1000 www 

RUN  useradd -u1001 -g www  -s -M /bin/nologin www

RUN  yum   install -y  supervisor  libcurl  curl-devel  bzip2 bzip2-devel  openssl-devel   libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel   libxml2 libxml2-devel gcc make libmcrypt-devel && yum clean all && rm -rf /var/cache/yum/* 

RUN  mkdir -p /usr/www/html && chown -R www:www /usr/www/html && mkdir -p /usr/local

COPY  php  /usr/local/php 

RUN   cp /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf &&chmod -R  o+x /usr/local/php

COPY  supervisord.conf /etc/supervisord.conf

RUN chown -R www:www /usr/local/php && sed -i "s/127.0.0.1/0.0.0.0/g" /usr/local/php/etc/php-fpm.conf

EXPOSE 9000

#CMD ["/usr/local/php-fpm/sbin/php-fpm"]
ENTRYPOINT ["/usr/bin/supervisord","-c","/etc/supervisord.conf"]

 

vim   /etc/supervisord.conf

 

[supervisord]
nodaemon=true

[program:php-fpm]
command=/usr/local/php/sbin/php-fpm

docker build -it php-fpm:v6 .

 

docker run -d -p 9000:9000 --name php-fpm-api -v /usr/www/html:/usr/www/html  php-fpm:v6  #运行php-fpm 容器

 /usr/local/nginx/sbin/nginx  #宿主机运行nginx 

 

以上是关于docker 构建php-fpm IMages(dockerfile)的主要内容,如果未能解决你的问题,请参考以下文章

E: 使用 docker compose 在 php-fpm 映像构建中,包 'mysql-client' 没有安装候选

Docker - Nginx + Php-fpm 开发环境

阿里云上构建本地仓库Docker images

来自 composer:1.8.4 的 php-fpm docker 中的 Composer

Docker images

Docker如何构建Dockerfile