nginx+php-fpm docker镜像合二为一
一、概述
在上一篇文章介绍了nginx+php-fpm,链接如下:
https://www.cnblogs.com/xiao987334176/p/12918413.html
nginx和php-fpm是2个独立的镜像,在实际环境部署过程中,发现配置比较麻烦,排错比较耗费实际。
因此,需要将nginx和php-fpm 这2个镜像合并为一个。
二、正式操作
目录结构
新建目录/opt/nginx_php,目录结构如下:
./ ├── default ├── dockerfile ├── README.md └── run.sh
default
server {listen 80;server_name localhost;root /var/www/html;index index.html index.htm index.nginx-debian.html;location / {try_files $uri $uri/ =404;}location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;} }
View Code
dockerfile
FROM crunchgeek/php-fpm:7.3-r7 ADD default / ADD run.sh / RUN apt-get update && \apt-get install -y nginx net-tools && \apt-get clean all && \mv /default /etc/nginx/sites-available/ && \chmod 755 /run.shEXPOSE 80 EXPOSE 9000 ENTRYPOINT ["/run.sh"]
View Code
README.md
# 说明 nginx+php-fpm# 版本说明 ```bash nginx 1.14.2 PHP 7.3.17 ```# php-fpm模块说明 默认已经安装如下模块 ```bash apc apcu bcmath bz2 calendar Core ctype curl date dba dom ds enchant exif fileinfo filter ftp gd gettext gmp hash iconv igbinary imagick imap interbase intl json ldap libxml mbstring memcache memcached mongodb msgpack mysqli mysqlnd newrelic openssl pcntl pcre PDO pdo_dblib pdo_mysql pdo_pgsql pdo_sqlite pdo_sqlsrv pgsql Phar posix pspell readline recode redis Reflection session shmop SimpleXML soap sockets sodium SPL sqlite3 ssh2 standard sysvmsg sysvsem sysvshm test tidy tokenizer wddx xdebug xml xmlreader xmlrpc xmlwriter xsl Zend OPcache zip zlib ```# 构建镜像 ```bash docker build -t nginx_php:1 . ```# 运行 ```bash docker run -d -it --restart=always --name nginx_php -p 80:80 nginx_php:1 ```# 说明 ```bash default 是示例nginx配置文件,可根据实际情况修改 ```# phpinfo 将`test.php` ```php <?phpphpinfo(); ?> ``` 拷贝到容器目录`/var/www/html`通过以下url即可访问 ```bash http://ip地址/test.php ```# 注意 phpinfo不要暴露在公网中访问,黑客知道php版本后,会通过漏洞攻击。<br/> <br/> Copyright (c) 2020-present, xiao You
View Code
run.sh
#!/bin/bash# 后台启动 /usr/local/sbin/php-fpm -D# 关闭后台启动,hold住进程 nginx -g 'daemon off;'
View Code
构建镜像
cd /opt/nginx_php docker build -t nginx_php:1 .
运行
docker run -d -it --restart=always --name nginx_php -p 80:80 nginx_php:1
访问页面
http://ip地址
效果如下:
phpinfo页面
新建test.php
cd /opt/nginx_php vi test.php
内容如下:
<?phpphpinfo(); ?>
拷贝到容器中
docker cp test.php nginx_php:/var/www/html/
访问test.php
http://ip地址/test.php
效果如下:
nginx+php-fpm docker镜像合二为一相关推荐
- 创建支持nginx服务的docker镜像
环境: [root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@linux-n ...
- docker Alpine一个只有5M小而美的Docker镜像
docker Alpine一个只有5M小而美的Docker镜像 参考链接: Alpine 一个只有5M的Docker镜像 http://www.infoq.com/cn/news/2016/01/Al ...
- CentOS6 PHP5.6+Nginx Docker镜像制作
背景 由于项目需要,今天制作了一下基于CentOS6的PHP5.6+Nginx的Docker镜像,同时也复习了一下Dockfile,解决一两个坑,实现了在一个Docker中启动多个进程的目标. Doc ...
- 使用Dockerfile构建Docker镜像
目录 前言 Dockerfile的书写规则及指令使用方法 创建Dockerfile,构建运行环境 构建镜像 Dockerfile参考示例 Dockerfile最佳实践 1. 前言 Dockfile是一 ...
- Docker 入门系列(2)- Docker 镜像, 免 sudo 使用 docker 命令、获取查看、修改镜像标签、查找删除创建镜像、导入导出镜像
1. 免 sudo 使用 docker 命令 如果还没有 docker group 就添加一个 sudo groupadd docker 将用户加入该 group 内 sudo gpasswd -a ...
- Docker学习(三)-----Docker镜像常用命令
六.Docker镜像 镜像是Docker的三大组件之一 Docker运行容器前需要本地存在对应的镜像,如果本地不存,Docker会从镜像仓库下载 6.1Docker获取镜像 6.1.1查找镜像 我们可 ...
- Docker镜像使用
当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载. 下面我们来学习: 1.管理和使用本地 Docker ...
- docker $PWD路径_深入浅出Docker 镜像
技术头条:干货.简洁.多维全面.更多云计算精华知识尽在眼前,get要点.solve难题,统统不在话下! 作为云计算的当红明星Docker 来势汹汹,它就像一场森林大火,烧到了我们中间.因为工作的原因, ...
- Kubernetes学习笔记三:Docker安装,Docker使用,编写Dockerfile,制作容器镜像,上传docker镜像
文章目录 Docker的安装 Docker的使用:docker run命令 查看本地存在的镜像:docker images命令 编写Dockerfile,制作容器镜像 docker build制作镜像 ...
- 【Spring boot 实战】使用Maven插件构建Docker镜像
本文主要介绍如何使用Maven插件将SpringBoot应用打包为Docker镜像,并上传到私有镜像仓库Docker Registry的过程. 使用Maven构建本地Docker镜像 我们以项目spr ...
最新文章
- springboot 项目将本地引用打进jar包
- 手机APP新“战场” 手机银行APP成了银行业的定时炸弹?
- Qt中内存泄露和半自动内存管理
- xml教程之约束schema
- 排序箭头,升序,降序简单实现
- keil_rtx特点
- c/s三层结构信息系统的三个层次_网络资讯:三层架构是什么
- Pandas/networkx图分析简单入门 1
- Mysql 存储过程基本语法
- numpy 中的axis轴问题
- js深拷贝和浅拷贝对数组的影响_浅拷贝与深拷贝(JavaScript)
- springcloud(八):配置中心服务化和高可用
- B - 好数 51Nod - 1717
- 【历史上的今天】12 月 20 日:苹果收购 NeXT;苏联超级计算机先驱诞生;《绝地求生》发布
- java am pm_【am.pm正确时间书写格式】作文写作问答 - 归教作文网
- 调整 Windows 11 任务栏位置
- 定积分存在定理与原函数存在定理
- SQL Server跟踪(Trace)--系统跟踪日志;从小白到大神,文章细节满满,细致到令人发指。
- python工程师都习惯用哪些开发工具呢
- css 里面写响应式布局,CSS3怎么做出响应式布局
热门文章
- Pytorch中torch.nn.DataParallel负载均衡问题
- html5动态创建canvas,[canvas]通过动态生成像素点做绚丽效果
- 华为服务器linux光驱名称,华为服务器通过mgmt口挂载光盘装系统及Linux系统rescue模式下修复内核...
- 课室用的电子黑板|一体手写屏哪家做的好?
- 2015年9月最新浏览器市场份额统计表
- 免Fan,国内直接访问,Instagram!文末还有…………
- PostgreSQL下载安装教程以及官网下载包出现的问题
- 裸辞计算机考研,一位工作三年,裸辞,跨考,347学姐的考研经验 - 考研 - 小木虫 - 学术 科研 互动社区...
- lammps案例:堆垛层错能的计算
- 菜鸟使用RedHat Linux9.0极品笑话