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 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)的更多相关文章
- Dockerfile与Docker构建流程解读
摘要 本文主要讨论了对docker build的源码流程进行了梳理和解读,并分享了在制作Dockerfile过程中的一些实践经验,包括如何调试.优化和build中的一些要点.另外,还针对现有Docke ...
- 记录线上与本地docker镜像一致,但Dockerfile却构建失败的问题
背景 公司新开了某个项目,我在新的服务器部署了docker环境,本着ctrl+c 和ctrl+v的惯例,直接把以前的php环境的Dockerfile文件直接复制到新项目服务器那里,结果构建失败,失败的 ...
- Docker自学纪实(五) 使用Dockerfile构建php网站环境镜像
一般呢,docker构建镜像容器的方式有两种:一种是pull dockerhub仓库里面的镜像,一种是使用Dockerfile自定义构建镜像. 很多时候,公司要求的镜像并不一定符合dockerhub仓 ...
- Docker学习(六)Dockerfile构建自定义镜像
Docker学习(六)Dockerfile构建自定义镜像 前言 通过前面一篇文章可以知道怎么去使用一个镜像搭建服务,但是,如何构造自己的一个镜像呢,docker提供了dockerfile可以让我们自己 ...
- 使用Docker构建持续集成与自动部署的Docker集群
为什么使用Docker " 从我个人使用的角度讲的话 部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更方便 hub.docke ...
- docker学习笔记18:Dockerfile 指令 VOLUME 介绍
在介绍VOLUME指令之前,我们来看下如下场景需求: 1)容器是基于镜像创建的,最后的容器文件系统包括镜像的只读层+可写层,容器中的进程操作的数据持久化都是保存在容器的可写层上.一旦容器删除后,这些数 ...
- selenium结合docker构建分布式测试环境
selenium是目前web和app自动化测试的主要框架.对于web自动化测试而言,由于selenium2.0以后socker服务器由本地浏览器自己启动且直接通过浏览器原生API操作页面,故越来越多的 ...
- DevOps实践之一:基于Docker构建企业Jenkins CI平台
基于Docker构建企业Jenkins CI平台 一.什么是CI 持续集成(Continuous integration)是一种软件开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来 ...
- docker构建镜像
Docker 提供了两种构建镜像的方法: docker commit 命令Dockerfile 构建文件 示例: Dockerfile FROM golang:1.7.5 #基础镜像 RUN apt- ...
- Docker 构建映像
.用docker commit构建映像 .docker run -i -t centos /bin/bash //启动一个容器,启动后默认进入该窗口的bash进程 .yum install -y ep ...
随机推荐
- 3_07_MSSQL课程_Ado.Net_委托、事件
委托和事件的区别? (1)委托是一个类. 事件是一个委托类型的实列. (2)委托可以在定义委托实列的类的外部触发执行.(不安全) 事件只能能在定义它的类的内部触发执行.(安全),类外部只能注册事件的响 ...
- Redis实战(20)Redis 如何从海量数据中查询出某一个 Key?
序言 资料 https://www.cnblogs.com/vipstone/p/12373734.html
- 5G时代,行业市场用户的公网与专网如何选择
导读 今年,5G开启了真刀真枪的商用元年,尤其中国5G正式启动商用服务,5G规模商用进程再次大提速.除了面向消费者领域,5G更大的商业价值还是寄望于进入各个垂直行业,赋能千行百业数字化转型. 5G进入 ...
- Linux centosVMware Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做
一.Linux监控平台介绍 cacti.nagios.zabbix.smokeping.open-falcon等等 cacti.smokeping偏向于基础监控,成图非常漂亮 cacti.nagios ...
- Linux centosVMware apache 限定某个目录禁止解析php、限制user_agent、php相关配置
一.限定某个目录禁止解析php 核心配置文件内容 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 先创建.编辑一个php 配置 vim /u ...
- 小程序中data数据的处理方法总结
wxml代码: <view class="container"> <view wx:for="{{list}}" wx:key="t ...
- Centos7 忘记密码解决方法
一.Centos7 忘记密码解决方法 1.进入单用户模型 重启 Linux 系统主机并出现引导界面时,按下键盘上的 e 键进入内核编辑界面 然后按向下键,找到以“Linux16”开头的行,在该行的最后 ...
- vb.net 写日志文件
Module mod_LogAccessHt #Region "Const" Public Const __PREFIX_ERROR__ As String = "Err ...
- 攻防世界web进阶区(2)--记一次sql注入
题目地址:http://111.198.29.45:56094 这是一道sql注入题. 试试1' order by 3#,发现页面显示正常,将3换为4时,页面报错,则说明含有3个字段. 接下来判断输出 ...
- 夯实Java基础(十八)——泛型
1.什么是泛型 泛型是Java1.5中出现的新特性,也是最重要的一个特性.泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类. ...