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

本节书摘来自华章出版社《循序渐进学Docker》一书中的第2章,第2.2节,作者李金榜 尹烨 刘天斯 陈纯,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

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)。


1dcea92c47c5033e0072cc47c156e64c8506646b

下面让我们来见识一下这两条神奇的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所示的界面。


444171048a844396e35aae9f5e651fafb4f22521

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


4468e18facd2b406789d9044d78c1a61c8b30333

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


a233a5b89f194620d0a8e3e366131143518b0223

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


4eee6008f39a200ea1c7721d260c6f6e6b922edc

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

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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值