个人博客:戳我,戳我
背景
这段时间一直在折腾我的博客,由于之前出现过一次电脑硬盘完全挂掉的情况,为了避免重新搭建博客系统,一直打算搞一个方便点的环境,能进行多机迁移之类的。正好,Docker完全满足我的要求。
之前一直只是听说过Docker,听说过容器,听说过镜像,但并没有正真的了解接触过Docker。这次借助于博客的折腾,正好有了这个研究折腾Docker的机会。
What is Docker?
正如Docker官网介绍的那样:
Docker is the world’s leading software containerization platform.
关于了解Docker不是本文的重点,这里可以推荐我之前收藏的关于Docker的几个链接:
看完上面的内容基本还是对Docker有了一个比较基础的认识,关于docker的安装,docker命令的使用,docker的设计原理等。
构建hexo镜像
安装Docker
这个地方我当时刚接触的时候没有理清,以为docker是把我windows上的本地环境打包构建成一个镜像,相当于克隆一个我在windows上的博客系统,这个想法还是有点太天真了看来。后来了解了Docker的原理以及使用后,才理清了这些问题。
其实可以很简单的理解,docker是一个软件,运行的是容器,容器里面是各种应用,运行一个容器需要一个镜像,这个镜像可以是一个基础镜像,也可以是一个你自己基于基础镜像构建好的镜像,镜像的内容可以粗略的理解为一个系统,比如各种版本的Linux等。所以关于构建hexo的镜像,就是首先拉取一个基础镜像,比如我选择了Ubuntu系统,然后当容器跑起来后,就相当于一个虚拟机了,这个时候你可以安装你的hexo环境,node环境,git环境等,最后可以把整个构建好的环境整体打包生成一个最终的镜像,这个镜像就是最终需要的镜像。
上面的理解,可能有偏差,因为只是我自己的理解。好了,废话不多说,开始了!(我的linux机器是centos7)
# yum update && yum install docker-engine
启动docker:
# systemctl start docker
运行测试:
# docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c04b14da8d14: Pull complete
Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation ap