手记

猿宵节到了,把博客装入docker与我团圆记

进入2018年,新的一年“网络质量”感觉不太好,这几天发现我的个人技术博客打不开了(www.imoocc.com),我的站点之前是放在了日本的一台服务器上,这两天很莫名的网络无法连通了。。。

迁移过多次,实在不想每一次都为了站点迁移,去重新寻找、搭建自己的环境,这些事情就算非常顺畅也需要花费上半天的功夫。

没有意义,那怎么办呢?
于是乎,我想起用它,我的博客站点是技术类的站点,其占用空间资源少,访问用户不算高,采用python语言开发,dango为框架。
所以,由于对空间的性能要求不高,但一定要满足我的快速迁移的目的,因为以后我可能需要经常作到搬移“老窝”。究竟如何办?我决定采用docker 来一次解决我这个迫切需求!
所以我决定把站点所有内容都统一封装到一个容器中,并且生成一个我的技术站点专用镜像,这样的方式既能解决快速迁移扩容的需求的同时,也能通过镜像文件,进行多分拷贝和备份,也实现了一个非常好的数据冗余效果。
采用docker非常美妙,我觉定把我的博客装入docker容器。接下来我将描述下我是如何一步步来实现的了,先来展示下我这个流程图效果,如下:

采用的步骤,归总为如下几个重要的步骤了:

1、本地安装docker

2、搭建本地容器

3、将站点塞到docker容器中

4、生成我的站点镜像

5、将镜像打包,完成备份

6、迁移镜像并启用

接下来我详细的介绍下,我的安装步骤,本人(jeson)使用的是mac电脑,如果你使用的不是mac,前面的本地环境安装docker会存在一点点差异,其它的环节思路上是一样的。

一、安装

官方介绍文档,如下:

https://www.apple.com/cn/macos/how-to-upgrade/

版本选择,如果想安装最新版本的docker ,对于mac os的系统版本要求10.11后的版本,需要解决的化,有两种方法了:

第一种,升级本地的mac os操作系统

这个费劲了,所以我决定采用第二种方法。

第二种就是安装较早版本的docker,如下:

https://docs.docker.com/docker-for-mac/release-notes/#docker-community-edition-17060-ce-mac18-2017-06-28-stable

下载,安装完成后,打开terminal,执行如下命令:

Jeson:~ renren$ docker -v

Docker version 17.03.0-ce, build 60ccb22

二、修改镜像加速器地址

1、获取阿里云镜像地址

https://cr.console.aliyun.com

点击(镜像加速器-然后获取加速的地址)

2、Docker for Mac 配置阿里镜像加速器
打开Docker->Preferences...

Insecure registries配置:registry.mirrors.aliyuncs.com

Registry mirrors配置自己的镜像加速器地址即可.

重启docker生效,如图:

三、启动容器

1、启动文件共享

进入到设置中:preferences

2、启动docker

docker run -it -p 222:22 -p 8888:80 -p 33060:3306 -v /opt/app/jeson:/jeson --privileged jimoocc:v1 -name Jimooccv2 bash

-p 设置端口映射

-v /opt/app/jeson:/jeson 设置数据卷挂载,将宿主机的某个目录挂载到容器之中

-name 设置容器名称

四、封装到docker 容器之中

1、更新源、安装基础服务

apt-get update

2、安装sysv-rc-conf

用于设置开机启动

apt-get install sysv-rc-conf

3、安装mysqld

apt-get install mysql-server

4、安装openssh

apt-get install openssh-server

5、安装nginx

apt-get install nginx

6、安装python

apt-get install python

apt-get install python-setuptools

接下来,安装我的博客模块、部署代码了...

六、打包迁移

1、打包容器为镜像

docker commit 6bd882615bb6 jimoocc:v2

2、镜像打包

docker save -o jimoocc_v2.tar jimoocc:v2

3、加载镜像

docker load --input ./jimoocc_v2.tar

4、查看镜像

docker images

好了,大功告成,以后我想怎么迁就怎么迁,谁也拦不住我!

测试下,来展示下我的站点!

最后,大家觉得这篇文章不错,请转发,“幕客老师”将提供更多好的技术分享给大家,谢谢大家!

预祝:大家元宵快乐~团团圆圆~

13人推荐
随时随地看视频
慕课网APP

热门评论

感谢jeson老师的分享

查看全部评论