`
xieye
  • 浏览: 847407 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

docker 构建基于centos的php72-fpm镜像

阅读更多
我这篇文章写的不太好。我新写了一篇文章。
请移步如下链接
利用docker构建完整centos环境开发php


网上找了很多,发现基于ubuntu的php-fpm构建镜像是主流的,应该也可以用于生产环境。
可是我对ubuntu语法不熟悉,而习惯使用centos。于是艰难的找到了这个镜像,该镜像构建简单方便,且使用了构建php最主流的remi库。,让人满意。这样能始终支持最新版本的php。


额外说一句,docker的标准用法是每个docker容器只提供一个服务。
所以应该是php-fpm单独一个容器,nginx单独一个容器。本文的思路也是这样的,坚决不搞docker全家桶。


===========================================

这是原始的,名字:amazeeio/centos:7,该镜像内含了一些原作者自己的写命令,用于后续的构建,可惜不是通过Dockerfile构建的,不知具体内容,很遗憾。所以,如果用的话,只能依赖于原作者这个镜像。


这是新的,直接可用的一个基于centos的php-fpm镜像。
amazeeio/centos7-php


原作者的docker仓库地址。用于不打算自己改,直接用原作者的。
https://hub.docker.com/r/amazeeio/centos7-php/

假设想自己构建镜像,则,
git clone https://github.com/amazeeio/docker-centos7-php
cd docker-centos7-php/
git checkout 7.2

docker build -t 自己的centos7php镜像名 .

=========================================


我现在假设,直接用它的。
docker pull nginx:1.12
docker pull amazeeio/centos7-php:7.2


docker network create -d bridge php-net

创建两个容器
docker run -d --network php-net  --name c_fpm -p  9000:9000 -v /var/www/html:/usr/share/nginx/html amazeeio/centos7-php:7.2

docker run -d --network php-net  --name c_nginx    -p 80:80 -v /var/www/html:/usr/share/nginx/html nginx:1.12

确认一下两个容器始终打开
dcoker ps -a

复制nginx容器的配置文件到docker宿主机。
docker cp c_nginx:/etc/nginx/conf.d/default.conf ./default.conf

vi default.conf
###

location ~ \.php$ {
  fastcgi_pass c_fpm:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
  fastcgi_param SCRIPT_NAME $fastcgi_script_name;
  include fastcgi_params;
}

###
把上面这段话加入到 nginx配置。

docker cp  ./default.conf  c_nginx:/etc/nginx/conf.d/default.conf

docker stop c_nginx
docker start c_nginx

vi /var/www/html/1.php
<?php
phpinfo();

在最外面的宿主机,浏览器
http://192.168.99.100/1.php

显示 PHP Version 7.2.0RC2.
不喜欢那个RC2,就自己构建吧!

只需在创建两个容器那里,替换镜像名为你自己构建的镜像名即可。
0
0
分享到:
评论

相关推荐

    基于Docker官方php:5.6.40-fpm镜像构建支持66个常见模组的php5.6.40镜像

    基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2),所构建的php5.6.40镜像应用于RHEL7-9(如AlmaLinux9.1),但因为docker的特性,适用场景是不限于此的。 # 部署docker环境 # 创建自定义网络示例 docker network...

    基于Docker官方php:7.1.33-fpm镜像构建支持67个常见模组的php7.1.33镜像

    基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2),所构建的php7.1.33镜像应用于RHEL7-9(如AlmaLinux9.1),但因为docker的特性,适用场景是不限于此的。 # 部署docker环境 # 创建自定义网络示例 docker network ...

    基于Docker官方php:7.4.33-fpm镜像构建支持67个常见模组的php7.4.33镜像

    基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2),所构建的php7.4.33镜像应用于RHEL7-9(如AlmaLinux9.1),但因为docker的特性,适用场景是不限于此的。 # 部署docker环境 # 创建自定义网络示例 docker network ...

    docker-app:基于CentOS和PHP-FPM 5.4的Docker PHP-FPM映像

    码头应用 基于带有CentOS,PHP-FPM 5.4,SphinxSearch,Redis和Memcached的应用服务器的Docker映像

    Dockerfile 安装php5.6镜像

    Dockerfile 安装php5.6镜像 FROM hub.c.163.com/netease_comb/centos:7 MAINTAINER www.source-open.com RUN yum install -y gcc gcc-c++ make gd-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel ...

    docker-www:基于 CentOS 7 构建的可靠现货 Apache2PHP-FPM 基础映像

    不人道的人/www 这是一个基本的 CentOS7/Apache/PHP-FPM Docker 镜像。 它可以通过在 /var/www 上安装主机卷来单独使用,但它旨在成为更复杂设置的模型。使用docker run -d -p 80:80 -v /path/to/site/files:/var/...

    Dockerfile 安装php7.1镜像

    Dockerfile 安装php7.1镜像 FROM hub.c.163.com/netease_comb/centos:7 MAINTAINER www.source-open.com RUN yum install -y gcc gcc-c++ make libxml2 libxml2-devel gd gd-devel openssl openssl-devel #...

    LNMP 的 Docker(CentOS7 + Nginx + MariaDB + PHP7 + Redis + Supervisor + WebSocket + Cron).zip

    LNMP Docker - 在国内快速构建LNMP容器环境3分钟构建开发、测试、生产L(Alpine Linux ) + N(Nginx) + M(MariaDB) + P(PHP) Docker容器应用环境,升级信息参考。控制与控制基于PHP 7.1版本,构建完整、轻量级的PHP...

    基于PHP的Docker实训课程-Dockerfile设计源码

    centos7可能代表了用于Docker容器的操作系统基础镜像,而.workflow则可能涉及到自动化构建和部署的流程。 这套基于PHP的Docker实训课程设计源码,不仅为学习者提供了丰富的实践素材,还通过Docker容器化技术,让...

    dockerfile实现lnmp

    LNMP指的是Linux, Nginx, MySQL, PHP的缩写,是一种常见的...最后,通过构建这个Docker镜像,我们可以得到一个可以运行LNMP应用的容器,这个容器可以在任何安装了Docker的机器上运行,为用户提供便捷的部署和扩展能力。

    dnmp-docker安装

    - .dockerignore:类似于.gitignore,它决定了在构建Docker镜像时哪些文件应该被忽略。 - .gitattributes:定义了Git操作的属性,例如行结束符的处理。 - .gitignore:用于忽略文件的配置文件,防止将敏感文件提交到...

    Docker配置PHP开发环境教程

    在没有用docker之前一直用vagrant配置的centos的php开发环境,但是自从有了docker之后,就不再用vagrant了。 配置自己的php镜像 首先在自己的任意一个目录下创建如下三个文件 run.sh #!/bin/bash /usr/sbin/...

    泊坞窗:泊坞窗文件

    码头工人 码头工人 目录结构 ./ ├── README.md ├── build.sh (构建镜像脚本) ├── push.sh (推送镜像脚本) └── fpm (docker仓库名称) ├── 7.2.10-centos7 ...docker pull vipthink/fpm:7.2.10.2-centos7

Global site tag (gtag.js) - Google Analytics