Docker最全教程之使用PHP搭建我的博客站点(二十二)

目录

  • 官方镜像 php

  • 编写简单的Hello world!mysql

1. 编写Hello world! sql

2. 编写Dockerfile docker

3. 构建并运行 数据库

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

  • 构建本身的WordPress镜像用于搭建我的博客站点 服务器

1. 准备MySQL数据库 app

2. 跑起来 编程语言

  • 修改PHP的文件上传大小限制 wordpress

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


编写简单的Hello world!

1. 编写Hello world!

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

<?php

echo "Hello world";

?>

2. 编写Dockerfile

Dockerfile文件以下所示:

#镜像版本见:https://hub.docker.com/_/php

FROM php:7.3-cli-alpine3.9

COPY . /usr/src/myapp

WORKDIR /usr/src/myapp

#运行php脚本

CMD [ "php", "./test.php" ]

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

3. 构建并运行

构建命令以下所示:

docker build --rm -f "dockerfile" -t phptest1:latest .

运行:

 

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

在平常开发中,若是咱们只是编写简单的PHP脚本用于简单的实践,那么咱们彻底能够

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

docker run -it --rm  `

--name php-running-script `

-v D:\temp\php:/usr/src/myapp `

-w /usr/src/myapp `

php php test.php

运行命令参数说明你们能够回顾前面的内容,以上命令主体操做以下:

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


构建本身的WordPress镜像用于搭建我的博客站点

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

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

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

 

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

1.准备MySQL数据库

咱们先须要准备一个MySQl数据库,你们可使用现成的MySQL数据库,也能够参考数据库容器化的相关章节来进行搭建。

参考命令以下所示:

docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql

注意:MySQL容器建立完成后,须要对root帐号进行设置才可以经过数据库链接访问MySQL,具体见数据库容器化相关章节。

 

2.跑起来

接下来,咱们就能够运行WordPress镜像了,参考命令以下所示:

docker run `

--name myblog `

--link mysql:wordpressdb `

-e WORDPRESS_DB_HOST=wordpressdb:3306 `

-e WORDPRESS_DB_PASSWORD=123456 `

-e WORDPRESS_DB_NAME=wordpress `

-p 3000:80 `

wordpress

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

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

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


 

修改PHP的文件上传大小限制

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

1.修改Dockerfile,构建本身的镜像

使用本身的php配置文件(php.ini)替换默认的php配置文件。如基于wordpress镜像构建本身的镜像,添加相似于“COPY ./config/php.ini /usr/local/etc/php/conf.d/”的复制命令。

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

例如“-v d:/tmp/php/php.ini:/usr/local/etc/php/conf.d/uploads.ini”。

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

相关文章
相关标签/搜索