我这篇文章写的不太好。我新写了一篇文章。
请移步如下链接
利用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,就自己构建吧!
只需在创建两个容器那里,替换镜像名为你自己构建的镜像名即可。
分享到:
相关推荐
docker-compose php7.3.4-fpm+nginx+mysql配置
使用busybox环境和php-fpm封装的docker容器 所以非常小 使用docker load -i php-fpm_7.0.4-image.tar.gz 加载镜像 加载后可以直接使用 最好进入容器中修改配置文件后重启容器使用
centos7.6.1810---镜像包dockercentos7.6.1810---镜像包dockercentos7.6.1810---镜像包docker
离线环境下,在centos7.6系统上安装docker-ce-19.03,nvidia-docker2.4版本,其中docker-ce-19.03在docker-local.tar压缩文件里面,nvidia-docker2在nvidia-docker2.zip文件中。 具体安装流程如下: 1.安装docker ...
基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2),所构建的php5.6.40镜像应用于RHEL7-9(如AlmaLinux9.1),但因为docker的特性,适用场景是不限于此的。 # 部署docker环境 # 创建自定义网络示例 docker network...
基于alpine的php-fpm nginx docker一键环境 可以手动替换所有版本 通过修改dockerfile,支持容器加载代码,或者挂载代码 也可以支持k8s做为基础环境容器,整体已经经过优化
基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2),所构建的php7.1.33镜像应用于RHEL7-9(如AlmaLinux9.1),但因为docker的特性,适用场景是不限于此的。 # 部署docker环境 # 创建自定义网络示例 docker network ...
在Linux系统,特别是CentOS环境下,使用Docker技术可以方便地构建和运行容器化应用程序。NVIDIA-Docker2是专为在Docker容器内利用NVIDIA GPU进行计算设计的工具,它允许用户在GPU驱动支持的环境中运行计算密集型任务...
lnmp的Docker安装,PHP-7.3-FPM,nginx最新版本,mysql-8.0_docker_lnmp
docker export做的镜像,需要cat centos_x86.tar |docker import - centos7:x86导入
基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2),所构建的php7.4.33镜像应用于RHEL7-9(如AlmaLinux9.1),但因为docker的特性,适用场景是不限于此的。 # 部署docker环境 # 创建自定义网络示例 docker network ...
docker-compose-nginx-phpfpm-源码.rar
码头应用 基于带有CentOS,PHP-FPM 5.4,SphinxSearch,Redis和Memcached的应用服务器的Docker映像
docker-ce-20.10.13-3.el7.x86_64.rpm containerd.io-1.5.10-3.1.el7.x86_64.rpm docker-ce-cli-20.10.13-3.el7.x86_64.rpm docker-ce-rootless-extras-20.10.13-3.el7.x86_64.rpm docker-ce-selinux-17.03.3.ce-1....
docker pull vutran/docker-nginx-php5-fpm 要运行此图像的实例: docker run --name mywebapp -d -P vutran/docker-nginx-php5-fpm 您可以将本地应用程序目录挂载到/var/www/html的容器中: docker run --name...
tar -zxvf docker-19.03.9.tgz 进入解压后的文件夹,并使用rpm命令进行安装。例如: bash cd docker-19.03.9 rpm -Uvh *.rpm --nodeps --force 注意:这将会自动安装所有依赖项并强制覆盖已有的文件。
centos7 nvidia-docker2离线安装包,使用命令rpm -ivh --force *.rpm sudo systemctl restart docker sudo systemctl daemon-reload 依次执行此命令,如果 事先安装了containerd.io 则需要先进行 rpm -qa | grep ...
遇到内网环境下不能将开通通讯,无法直接拉取docker镜像,分享给大家做好的docker离线镜像包,centos7系统环境下可用,可通过查看本人博客教程安装部署 地址: ...
有docker.io-centos软件包,docker的centos镜像包!
Ansible-docker-php-fpm.zip,devilbox的php-fpm docker图片sphp fpm docker图片,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。