《循序渐进学Docker》——2.2 利用Docker搭建个人博客

2.2 利用Docker搭建个人博客

WordPress是一款功能强大的个人博客系统。使用者众多,社区非常活跃,有丰富的插件模板资源。使用WordPress可以快速搭建独立的博客网站。

2.2.1 传统的安装方法

按照传统的安装方法,参考官方的安装文档(http://codex.wordpress.org/zh-cn:安装_WordPress) ,安装步骤如图2-5所示。

WordPress运行环境需要如下软件的支持:

PHP 5.6或更新版本。

MySQL5.6或更新版本。

Apache和mod_rewrite模块。

虽然有“著名的5分钟安装”,但由于需要安装PHP、MySQL和Apache等软件,对于一个经验丰富的老手,安装WordPress也需要一个小时的时间。如果用户对PHP、MySQL和Apache不熟悉,花费一天甚至一周时间估计也不能把WordPress安装成功。

2.2.2 使用Docker进行安装

如果使用Docker来安装WordPress呢?一个完全不知道PHP、MySQL和Apache的小白用户,只通过两条命令就可以把WordPress安装成功,所花费的时间也只有几分钟(主要是从网上下载Docker版的WordPress)。

下面让我们来见识一下这两条神奇的Docker指令吧。

双击桌面的“Docker Quickstart”快捷图标,出现命令行界面,输入如下两条指令:

$ docker run --name db --env MYSQL_ROOT_PASSWORD=example -d mariadb
$ docker run --name MyWordPress --link db:mysql -p 8080:80 -d wordpress

等待下载完成,WordPress就已经安装成功了。

由于要下载的mariadb和WordPress文件比较大,建议尽量使用有线网络替换Wi-Fi无线网络。

安装完成后,如何访问WordPress呢?

在“Docker Quickstart”启动的命令行界面通过输入如下指令获取IP:

$ docker-machine.exe ip
192.168.99.100

然后在浏览器中输入http://192.168.99.100:8080, 会出现如图2-6所示的界面。

按照界面的指引,选择网站支持的语言、输入网站标题和用户名密码等信息,配置就完成了,如图2-7所示。

在浏览器中重新输入http://192.168.99.100:8080 ,一个高端、大气、上档次的个人博客就呈现在我们面前了,如图2-8所示。

在页面的右下角,在“功能”→“登录”中,输入用户名、密码即可进入WordPress的管理界面,对博客进行修改和配置,如图2-9所示。

至此,一个完整的博客就搭建完成了。

2.2.3 解惑

在上一节,我们通过两条Docker指令,就搭建好一个个人博客网站。大家在惊讶的同时,是不是也很疑惑:那两条Docker指令到底是什么意思?

下面我们就解释一下。先看第一条指令:

docker run --name db --env MYSQL_ROOT_PASSWORD=example –d mariadb

其中:
docker run是一条Docker指令,后面的所有内容“--name db --env MYSQL_ROOT_PASSWORD=example –d mariadb”是Docker指令的参数。

这条指令含义是启动一个mariadb数据库(MySQL数据库的一个分支),数据库的管理员root的密码设置为example,让这个数据库运行在后台,给它起了一个唯一的名字db并进行标示。

这些都是通过参数的指定来实现的。

通过参数最后一部分内容“mariadb”来告诉docker run启动的是一个mariadb数据库。

通过“--env MYSQL_ROOT_PASSWORD=example”参数,设置传入环境变量MYSQL_ROOT_PASSWORD为example,就会在初始化mariadb数据库时root把密码设置为example。

通过“-d”参数,把启动的mariadb数据库设置到后台运行,如果没有该参数,该进程就会在前台运行。

通过“--name db”参数,给这个运行的mariadb数据库起一个名字。假如我们在一台机器上要启动多个mariadb数据库,就可以通过这个名字定位到不同的数据库。

另外一个问题是,我们使用docker run来运行mariadb,但mariadb从哪里来呢?docker run指令首先会从本机检查有没有mariadb程序,如果没有,就会从Docker Hub搜索并下载该程序,Docker Hub就像iPhone的App应用商店。

现在,我们理解了第一条指令是启动一个mariadb数据库。这是WordPress运行环境的三个必需条件之一。接下来看看第二条指令:

docker run –name MyWordPress –-link db:mysql –p 8080:80 -d wordpress

和第一条指令非常类似,通过“docker run”在后台运行WordPress程序。但它多出两个参数“--link”和“-p”。

WordPress是把博客和个性化信息存储到数据库,所以需要和数据库建立连接。在第一条指令中我们已经启动了mariadb数据库,并把它命名为db。在第二条指令中,我们通过“--link db:mysql”参数,把WordPress和数据库建立起了连接。

WordPress是通过监听Apache的80端口对外提供服务。但每台机器的80端口只有一个,假如80端口被其他应用占用了怎么办呢?我们通过“-p 8080:80”参数,把原服务的80端口映射到8080,这样就可以通过访问8080端口来访问服务。上一节我们访问WordPress的URL(http://192.168.99.100:8080) 端口就是8080,原因就在于这里。我们可以通过“-p”把80端口映射到任意端口上。

2.2.4 其他注意事项

360杀毒软件会把Docker识别为病毒而删掉,所以出现类似情况需要把360杀毒软件停掉再重新安装DockerToolBox。

时间: 2024-08-01 12:36:19

《循序渐进学Docker》——2.2 利用Docker搭建个人博客的相关文章

Docker DevOps实战: 一分钟搭建Hexo博客

Hexo博客 Hexo 是一个快速.简洁且高效的博客框架.Hexo 使用 Markdown解析文章,在几秒内,即可利用靓丽的主题生成静态网页.放下厚重的WordPress,跟我们一起投入极简的Hexo吧! 创建应用 登陆阿里云容器服务官方控制台https://cs.console.aliyun.com,选择一个集群,点击创建应用,如下图所示: 在创建应用页面,编辑应用名称为"Hexo",点击使用编排模板创建,如下图所示: 在应用模板编辑框中输入以下内容: hexo-server: im

利用ASP.NET MVC+Bootstrap搭建个人博客之praise.js点赞特效插件(二)_实用技巧

在上篇文章给大家介绍了利用ASP.NET MVC和Bootstrap快速搭建响应式个人博客站(一).接下来给大家介绍如果做个点赞插件,一起通过本文学习吧! 1. 为啥要做这个点赞插件?    praise.js是一款小巧的jQuery点赞插件,使用简便,效果美观. 在做个人博客时遇到了文章点赞问题.联想到各大社交网络中的点赞特效:手势放大.红心放大等等,很酷很炫.但是并没有现成的好用的插件,于是就打算自己做一个类似的点赞插件,放上自己喜欢的点赞图标.PS:小站的图标均来自阿里妈妈旗下的那个ico

利用ASP.NET MVC和Bootstrap快速搭建个人博客之后台dataTable数据列表_实用技巧

jQuery dataTables 插件是一个优秀的表格插件,是后台工程师的福音!它提供了针对数据表格的排序.浏览器分页.服务器分页.查询.格式化等功能.dataTables 官网也提供了大量的演示和详细的文档进行说明,为了方便使用,这里进行详细说明. 去官网:https://www.datatables.net/ 下载最新版本是v1.10.12. 在页面引入: <link rel="stylesheet" href="~/Content_Admin/css/boots

利用ASP.NET MVC和Bootstrap快速搭建个人博客之文章打赏功能(六)_实用技巧

看到新浪微博.百度百家等平台上都带有文章"打赏"功能,觉得很新鲜,于是也想在自己的博客中加入"打赏"功能. 当然,加入打赏功能并非是真的想要让别人打赏.因为只有那些真正能引起共鸣,发人深思,让人受益匪浅的文章才值得打赏,值得点赞. 而我的博客站仅仅是用作记录笔记,当做自己的知识库(如果能不经意间帮助别人那是再好不过了). 加入打赏功能纯粹是"觉得好玩",就是这么简单,Just have a fun!(博主喜欢折腾,看见一个酷炫的功能就想去实现它)

利用ASP.NET MVC+Bootstrap搭建个人博客之修复UEditor编辑时Bug(四)_实用技巧

我的个人博客站在使用百度富文本编辑器UEditor修改文章时,遇到了一些问题,(不知是bug,还是我没有配置好).但总算找到了解决方法,在此记录下来. 小站首页文章列表显示为(显示去除HTML标签后的前600个字符): 具体在www.zynblog.com 遇到的问题: 正常来讲,进入文章修改页,只需将UEditor对应的textarea的value设置为文章Content就行了: $('#editor').val('@Html.Raw(this.Model.Contents)'); 最开始我就

利用Octopress在github pages上搭建个人博客

利用Octopress在github pages上搭建个人博客 SEP 29TH, 2013 在GitHub Pages上用Octopress搭建博客,需要安装ruby环境.git环境等.本人在Fedora下成功搭建Octopress,这里把主要步骤和遇到的问题做一个记录. 在搭建的过程中发现yum安装的ruby与rake在管理octopress博客的时候会引起冲突,要使用rvm的方式安装ruby和rake:另外rvm一般用curl一段脚本来安装的话,网址有所变化,原来的教程中的网址要"去掉一个

使用nginx利用虚拟主机搭建WordPress博客

最近开始打算学习nginx web服务器,既然是学习还是以实用为目的的.我们在此以搭建WordPress博客为例. 搭建WordPress博客,我们需要Mysql数据库.PHP环境和Nginx Web服务器.主要分为以下四个步骤: 1.Mysql数据库安装及配置 2.PHP.PHP-FPM及与PHP相关组件的安装及配置 3.Nginx Web服务器搭建与配置 4.wordpress安装 注意:本次实验,除了nginx使用源码安装外,其他的软件全部使用rpm包yum方式进行安装. 一. Mysql

搭建个人博客-hexo+github

自己也算是摸爬滚打搭建成功,然后自己再重新安装部署一遍,把完整步骤分享给大家,同时最后有一些连接,如果我的步骤不行,大家可以参考其他人的(这个有点花费时间,大家提前有个心理准备 - _-) 一.第一步:下载安装Git   1.Git下载地址 2.安装步骤   个人选择全选   选择第二个                 然后一路默认 二.第二步:下载安装node.js 1.node.js下载地址   两个版本     2.安装步骤:一路默认就行(安装路径根据自己需要更改) 三.第三步:安装hex

Jekyll搭建个人博客 韩俊强的博客

之前写了一篇HEXO搭建个人博客的教程获得了很好评,有很多读者主动给我打赏,在此感谢. 如果你看过我的文章会发现我现在的博客样式跟之前是有很大的区别的,之前我也是使用 HEXO 搭建的博客,后来发现使用 HEXO 在多台电脑上发布博客,操作起来并不是那么方便,果断就转到了 Jekyll 上,接下来我会讲如何使用 Jekyll 搭建博客,博客模板效果. 介绍 Jekyll 是一个简单的博客形态的静态站点生产机器.它有一个模版目录,其中包含原始文本格式的文档,通过 Markdown (或者 Text