阿里云linux+docker+WordPress搭建个人博客(docker微服务学习)

前言

        最近在学习docker,然后看到了阮一峰老师的博客,其中就有docker微服务的教程,刚好手上有个阿里云的服务器,就想着试试看在阿里云上搭建一个个人博客练练手,话不多说,接下来就开始我们的操作。

在开始之前,我们需要粗略的了解一下Docker和WordPress

一、Docker是什么?

        在开始操作之前,我们先来了解一下Docker是什么,我们先看看百度上对Docker的描述吧

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

        简而言之,docker就是一个应用容器引擎,就是一个引擎,那么,容器又是什么呢,我们来看官方对它的解释吧

容器是一个标准化的软件单元,它将代码及其所有依赖关系打包,以便应用程序从一个计算环境可靠快速地运行到另一个计算环境。Docker容器镜像是一个轻量的独立的可执行的软件包。包含程序运行的时候所需的一切:代码,运行时间,系统工具,系统库和设置。

        这样看着是不是不太明白?想必大家都用过虚拟机吧,接下来我们来看个Docker与虚拟机的对比图,大家就能更好的理解Docker了。

虚拟机
Docker

        如上图所示,在宿主机中安装了系统,系统中安装了虚拟机,虚拟机虚拟出一台计算机,在虚拟计算机中安装完整的系统,再将服务部署在虚拟系统中。部署的服务受虚拟机的内核调度,虚拟机受主机的调度,多层及下主机资源产生了严重的浪费。如果要在一台机器上部署多个服务,还要环境隔离,那就需要有多个虚拟机,所需要的资源也就不言而喻。
        容器是在主机的操作系统中,隔离出单独的用户空间,每个都是单独的沙箱,环境互不影响。需要的系统资源也只是服务所需要的资源,减少了虚拟主机的资源开销。
        如果简单的来看,容器相当于虚拟机,但是容器跟虚拟机还是有很大不同的,虚拟机是硬件层面的虚拟化,而Docker容器是系统层面的虚拟化,每个容器化应用都会共享相同的操作系统。容器可以看成一个装好了一组特定应用的虚拟机,它直接利用了宿主机的内核,抽象层比虚拟机更少,更加轻量化,启动速度极快。在以前使用虚拟机的话,一台服务器跑几个服务就差不多了,而现在用了Docker,可以创建很多的容器,同时跑更多的服务。
        更详细的大家可以去看看阮一峰老师的博客docker入门教程

2、WordPress是什么?

        WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。
        WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的,用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。
        WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码、CSS、PHP等相关知识。
        WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式。

介绍完docker和WordPress之后,我们就正式开始搭建个人博客了

1、Linux下安装Docker

首先,我们打开Linux终端,获取root权限,输入以下命令,执行,安装Docker:

yum install docker -y
第一步

执行完成后,终端输出如下
第一步完成

接下来,我们可以用以下命令查看Docker版本:

docker version

输出如下:
Docker版本

然后我们这个时候在终端中输入以下命令启动Docker,并把Docker设为开机启动:

service docker start  #启动docker
chkconfig docker on  #将docker设置为开机启动
运行结果

好了,现在我们的Docker已经安装成功了。

2、Docker中配置WordPress

在这一步中,我们需要创建一个容器,用来运行WordPress,一起来操作一波吧。
首先,由于WordPress运行需要Mysql数据库,所以我们需要把Mysql数据库和WordPress的镜像获取到我们的主机。

获取mysql镜像

在终端中输入以下命令:

docker search mysql #搜索mysql镜像
docker pull mysql:5.7 #获取mysql镜像 :后为mysql版本 若不指定版本,则默认为最新版
搜索mysql镜像

获取MySQL镜像

获取WordPress镜像

docker search wordpress #搜索WordPress镜像
docker pull wordpress #获取WordPress镜像,不加版本号默认为最新
搜索wordpress镜像

获取WordPress镜像

好了,我们把镜像都获取下来了,接下来可以使用下面的命令查看我们的镜像:

docker image ls 
查看镜像

既然镜像都获取好了,我们就可以创建容器了

在终端中输入以下命令创建MySQL容器:

docker run -d --name wordpressdb --env MYSQL_ROOT_PASSWORD=123456 --env MYSQL_DATABASE=wordpress mysql:5.7

这里的几个参数都什么意思呢?
-d表示容器启动后,在后台运行
--name wordpressdb:容器的名字叫做wordpressdb
--env MYSQL_ROOT_PASSWORD=123456:向容器进程传入一个环境变量MYSQL_ROOT_PASSWORD,该变量会被用作 MySQL 的根密码。
--env MYSQL_DATABASE=wordpress:向容器进程传入一个环境变量MYSQL_DATABASE,容器里面的 MySQL 会根据该变量创建一个同名数据库

执行结束后会产生一串字符串,这串字符串为容器的ID


执行结果

接下来,我们继续创建WordPress容器:

docker run -d -p 80:80 --name wordpress --env WORDPRESS_DB_PASSWORD=123456 --link wordpressdb:mysql wordpress

其中:
         -p 80:80是将容器的80端口映射到主机的80端口
         --env WORDPRESS_DB_PASSWORD=123456 为数据库密码
         --link wordpressdb:mysql wordpress表示 WordPress 容器要连到wordpressdb容器,冒号表示该容器的别名是mysql


执行结果

现在我们可以使用以下命令查看正在运行的容器:

docker container ls #可以加--all查看所有容器,包括停止运行的
查看容器

好了,大功告成,接下来我们访问主机的IP地址,就可以进行WordPress配置啦

使用IP直接访问

剩下的操作就是配置WordPress了,跟着流程走完即可。

参考:
//www.greatytc.com/p/477974212ba8
https://www.runoob.com/docker/docker-command-manual.html
http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 198,030评论 5 464
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,198评论 2 375
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 144,995评论 0 327
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,973评论 1 268
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,869评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,766评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,967评论 3 388
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,599评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,886评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,901评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,728评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,504评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,967评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,128评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,445评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,018评论 2 343
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,224评论 2 339