美文网首页Docker容器
阿里云linux+docker+WordPress搭建个人博客(

阿里云linux+docker+WordPress搭建个人博客(

作者: 不想秃头的程序猿 | 来源:发表于2020-05-02 01:49 被阅读0次

    前言

            最近在学习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了,跟着流程走完即可。

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

    相关文章

      网友评论

        本文标题:阿里云linux+docker+WordPress搭建个人博客(

        本文链接:https://www.haomeiwen.com/subject/pvncghtx.html