docker安装

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

服务docker化

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

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

yum安装的服务

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

二进制部署的服务

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

自己开发的go服务

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

自己开发的py服务

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

其他服务

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