docker安装

因为选型用了doker,第一步自然是安装docker。
安装比较简单,参考文档如下:
参考文档

服务docker化

服务器上跑的项目主要四种:

  1. yum 安装的,比如 mysql , redis 。
  2. 源码或者二进制文件部署的,比如 git 和 nginx 。
  3. 自己编写的 go 项目。
  4. 自己编写的 python 项目。
    针对不同的服务,做了不同的设想。后续展开细说。

yum安装的服务

本身有两种部署方式。
继续使用 yum 安装成系统服务,或者运行在容器里。
目前选择的是继续运行成系统服务。
原因是因为容器的持久化和链接终归没有直接运行在服务器方便。
作为整个服务器的一个部分,个人认为已经通过yum把它模块化了。
在需要迁移时,直接在目标服务器重新安装或者部署到容器中即可。

二进制部署的服务

目前二进制部署的服务,主要是 gogs , git 服务。
其实是支持容器化的,但是他的存储文件依旧需要持久化在机器硬盘上,只是把服务放到 docker 里,意义不大。
所以同样也不打算在这次做容器化。
另外一个服务器是 nginx ,算是编译之后的二进制。有单独的 nginx 容器,但是因为现在用的这个 nginx ,还是 1.12.1 版本,并且有一些第三方插件,暂时不打算使用 docker 。后续如果迁移,可能直接升级最新版本的。

自己开发的go服务

本来是打算用 alpine 部署的,但是缺少 gcc ,确实很多 c 库,最后选用了 ubuntu 镜像。具体操作之后单独记录。

自己开发的py服务

主要是通过 flask 框架做的 web 服务,最开始也是用了普通的 python 镜像,后来发现太大了,选用了 python:slim 镜像。具体操作同样之后单独记录。

其他服务

除去上述列举的之外,还有一些 shell脚本 , py脚本 等。暂时没想到好的管理方法。包括通过 cron 管理的定时任务也同样。后续再研究一下这部分的解决方案吧。