分享好友 最新动态首页 最新动态分类 切换频道
Docker最全教程之使用PHP搭建个人博客站点(二十二)
2024-12-26 22:56

1. 编写Hello world! 

2. 编写Dockerfile 

3. 构建并运行 

4. 直接使用PHP Docker镜像运行PHP脚本 

1. 准备MySQL数据库 

2. 跑起来 

1. 修改Dockerfile,构建自己的镜像 

2. 通过“-v”参数将容器内指定路径映射到主机目录的自定义的配置文件 

3. 通过“exec”命令进入容器内部修改相关配置 


PHP(全名:PHP: Hypertext Preprocessor)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。


 

官方镜像地址:https://hub.docker.com/_/php


代码及其简单,如下所示:

Dockerfile文件如下所示:

这里之所以选择了alpine的镜像,主要是体积更小:

构建命令如下所示:

运行:

在日常开发中,如果我们只是编写简单的PHP脚本用于简单的实践,那么我们完全可以

直接使用PHP Docker镜像来运行PHP脚本,避免反复的构建过程,从而加速开发:

运行命令参数说明大家可以回顾前面的内容,以上命令主体操作如下:

  • 运行php最新镜像,运行完成后自动删除容器。其中“-it”等同于“-ti”等同于“-i -t”,也就是让容器的标准输入保持打开,然后分配一个伪终端并绑定到容器的标准输入上;
  • 容器名称为“php-running-script”;
  • 将主机目录“D: empphp”加载为数据卷,映射到容器内目录“/usr/src/myapp”。关于数据卷的相关讲解,我们在后续的章节会结合相关实践进一步讲解;
  • 指定工作目录“/usr/src/myapp”;
  • 执行PHP脚本“test.php”。

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。

WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的,用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。

WordPress官方镜像地址为:https://hub.docker.com/_/wordpress

 

接下来,我们就基于官方镜像开始搭建。

我们先需要准备一个MySQl数据库,大家可以使用现成的MySQL数据库,也可以参考数据库容器化的相关章节来进行搭建。

参考命令如下所示:

接下来,我们就可以运行WordPress镜像了,参考命令如下所示:

如上述命令,我们基于WordPressWordPress镜像创建了一个名为myblog的容器,外部端口为3000,容器端口为80。然后使用“--link”参数将该容器和mysql容器(上一步创建的MySQL容器)建立了链接,是其能否访问mysql容器,并且建立了别名wordpressdb。接下来,通过环境变量设置了WordPress的MySQL的一些参数,比如数据库服务器、密码、库名称。运行结果如下图所示:

接下来,我们访问我们的博客网址“http://localhost:3000/”试试:

经过一些简单设置,我们又为WordPress添加了一个即将关站的博客站:


基于Docker运行PHP应用,经常会遇到文件上传大小限制的问题。比如刚刚部署的WordPress个人博客站点,如果我们上传一些个人主题,很容易就突破了PHP的文件上传大小限制(默认2M,对应设置key为“upload_max_filesize”),这时我们有以下方式进行处理:

使用自己的php配置文件(php.ini)替换默认的php配置文件。如基于wordpress镜像构建自己的镜像,添加类似于“COPY https://www.cnblogs.com/codelove/p/config/php.ini /usr/local/etc/php/conf.d/”的复制命令。

最新文章
百度发布大数据众智开放平台“点石” 携手行业伙伴加速产业发展
数据是AI时代的燃料。7月4日,百度AI开发者大会(Baidu Create 2018)在北京召开。百度大脑论坛上,百度大数据部高级总监郭谢介绍了基于百度大数据技术的产品生态圈,并发布大数据众智开放平台“点石”(dianshi.baidu.com),提升数据处理效
高清美女写真生成攻略:用搜狐简单AI打造你的虚拟偶像
打开你手机上的微信,搜索“搜狐简单AI”小程序,或者直接访问其官网。步骤2:选择生成类型在主页选择“美女写真”选项,系统会引导你到生成界面。步骤3:上传或选择基础素材你可以选择从图库中上传一张照片,或者使用系统自带的模板。步骤
苹果大动作!全新苹果智能来了!OpenAI重磅官宣:将ChatGPT全面接入苹果设备
每经编辑 杜宇据中证金牛座,当地时间12月11日,苹果发布iOS 18.2、iPadOS 18.2和macOS Sequoia 15.2,同时推出一组全新苹果智能功能,在此前已推出的首批功能基础上,进一步提升用户的iPhone、iPad和Mac使用体验。苹果称,苹果智能是一套
重点建设学科软件投入与执行情况验收表模板
《重点建设学科软件投入与执行情况验收表模板》由会员分享,可在线阅读,更多相关《重点建设学科软件投入与执行情况验收表模板(1页珍藏版)》请在装配图网上搜索。
警惕!手机里的这些APP一定要卸载!!!
国家计算机病毒应急处理中心近期通过互联网监测发现,这些移动App存在隐私不合规行为。1、未声明App运营者的基本情况、未声明隐私政策时效。涉及10款App如下:《医家助手》(版本1.11,应用宝)、《乐护》(版本1.08,)、《亲亲熊识字》(
百度地图修改店铺名称
实体店为什么要在微信上做?现在很多聚餐约会,都会提前在美团或者其他平台选择好门店,在微信发送位置给朋友,这个时候要是你的门店在微信发送位置时搜索不到,可能就会损失一定的客户,微信位置看似小,但却很重要,能给客户带来很多便利
无需插件即可优化 WordPress 速度的 12 种策略
为什么要尝试在没有插件的情况下优化 WordPress 网站的速度?缓慢的网站不仅仅会带来一些小不便,而且当您尝试建立在线成功时,它是一个重大障碍。事实上,根据Portent2022 年的一项研究,在加载页面的前五秒内,每增加一秒,网站转化率平
精品与普通商品之间的差异究竟体现在哪些方面?
在现今的商品市场中,我们经常听到“精品”一词,而这一词汇正是消费者对高质量、高价值的商品所做的总结性描述。那么,精品与普通商品之间的差异究竟体现在哪些方面呢?以下为您进行详细的解析。精品往往在设计中融入了独特的创意和设计理
全球十大购物网站排行榜(转)
  现今社会所有都计算机化,你只需拥有一台计算机,连接互联网,便可以轻轻松松地把所有事情处理妥当,大至个人财务金融管理、小至买本书或买件衫,都可于网络上完成交易。话虽如此,但对于fashion人来讲,最大乐趣莫过于逛街试衫,享受
相关文章
推荐文章
发表评论
0评