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' 没有安装候选