好久没写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  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)的更多相关文章

  1. Dockerfile与Docker构建流程解读

    摘要 本文主要讨论了对docker build的源码流程进行了梳理和解读,并分享了在制作Dockerfile过程中的一些实践经验,包括如何调试.优化和build中的一些要点.另外,还针对现有Docke ...

  2. 记录线上与本地docker镜像一致,但Dockerfile却构建失败的问题

    背景 公司新开了某个项目,我在新的服务器部署了docker环境,本着ctrl+c 和ctrl+v的惯例,直接把以前的php环境的Dockerfile文件直接复制到新项目服务器那里,结果构建失败,失败的 ...

  3. Docker自学纪实(五) 使用Dockerfile构建php网站环境镜像

    一般呢,docker构建镜像容器的方式有两种:一种是pull dockerhub仓库里面的镜像,一种是使用Dockerfile自定义构建镜像. 很多时候,公司要求的镜像并不一定符合dockerhub仓 ...

  4. Docker学习(六)Dockerfile构建自定义镜像

    Docker学习(六)Dockerfile构建自定义镜像 前言 通过前面一篇文章可以知道怎么去使用一个镜像搭建服务,但是,如何构造自己的一个镜像呢,docker提供了dockerfile可以让我们自己 ...

  5. 使用Docker构建持续集成与自动部署的Docker集群

    为什么使用Docker " 从我个人使用的角度讲的话  部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更方便 hub.docke ...

  6. docker学习笔记18:Dockerfile 指令 VOLUME 介绍

    在介绍VOLUME指令之前,我们来看下如下场景需求: 1)容器是基于镜像创建的,最后的容器文件系统包括镜像的只读层+可写层,容器中的进程操作的数据持久化都是保存在容器的可写层上.一旦容器删除后,这些数 ...

  7. selenium结合docker构建分布式测试环境

    selenium是目前web和app自动化测试的主要框架.对于web自动化测试而言,由于selenium2.0以后socker服务器由本地浏览器自己启动且直接通过浏览器原生API操作页面,故越来越多的 ...

  8. DevOps实践之一:基于Docker构建企业Jenkins CI平台

    基于Docker构建企业Jenkins CI平台 一.什么是CI 持续集成(Continuous integration)是一种软件开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来 ...

  9. docker构建镜像

    Docker 提供了两种构建镜像的方法: docker commit 命令Dockerfile 构建文件 示例: Dockerfile FROM golang:1.7.5 #基础镜像 RUN apt- ...

  10. Docker 构建映像

    .用docker commit构建映像 .docker run -i -t centos /bin/bash //启动一个容器,启动后默认进入该窗口的bash进程 .yum install -y ep ...

随机推荐

  1. JS 一次性事件问题

    项目的需求就是不能重复提交 是通过click点击事件提交数据,到这里的时候想了很多办法,比如说销毁这个点击事件, 但是这个实现起来是相对比较麻烦的,后面想到了一个相对比较简单的办法 通过推荐判断 JS ...

  2. Codeforces 1304B. Longest Palindrome

    根据数据范围,暴力可以解决,对每一个串,找与其互为回文的串,或者判断自身是否为回文串,然后两两将互为回文的串排列在头尾,中间放且只能最多放一个自身为回文串的串,因为题目说每个串都是不同的 #inclu ...

  3. 五、centos7安装mysql:安装mysqlser

    一.下载通用安装二进制包 先下载mysql安装包:打开 http://dev.mysql.com/downloads/mysql/ 选择 linux - Generic并在其下选择 Linux - G ...

  4. Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置

    Nginx多站点虚拟主机实现单独启动停止php-fpm.单独控制权限设置 来源:osyunwei.com 作者:qihang01 发表于:2012-08-19 21:26 点击: 说明: 站点1:bb ...

  5. 图形数据写入数据库,Filletream

    图形数据写入数据库 用FileStream对象读模式打开图形文件 Dim 文件对象 As New FileStream(图形文件名, FileMode.Open, FileAccess.Read) 定 ...

  6. primecoin 全节点日常维护操作

    primecoin 全节点日常维护操作: 一.关于primecoin维护,每天检查这6个地址是否能正常访问: http://api.primecoin.org/rest/pcoin/syncblock ...

  7. layer弹出框包含页面

    参考:http://www.cnblogs.com/zhengchenhui/p/6038865.html

  8. 神机iPhone6停产,苹果产业链应该感谢它还是痛恨它?

    据国内媒体报道,一些苹果上游供应商已经接到通知,iPhone6系列将会在5月底彻底停产,一时间,竟在网络上引发汹涌的怀念之情.iPhone6的特别之处在于它是苹果第一款大屏幕的智能手机,标志着库克彻底 ...

  9. VueCli3 项目结构和具体作用

  10. 报错信息 Context []startup failed due to previous errors

    文章转自:http://blog.sina.com.cn/s/blog_49b4a1f10100q93e.html 框架搭建好后,启动服务器出现如下的信息: log4j:WARN No appende ...