迁移遗留项目到Docker

16 1月

结合DaoCloud体验了几天Docker,感觉非常的不错,所以也准备把已有的一个项目也迁移到Docker上。

遗留项目

这个项目是一个Java的Web项目,需要Java8环境,使用了Spring Boot,自带了运行容器,可以直接 java -jar 启动。项目使用了MySql数据库,没有用什么专有特性。数据库中数据也不多,可以mysqldump来迁移。

迁移数据库

先从数据库开始吧,原有数据库监听于3306端口,和应用一个主机。第一步打算就是先docker化数据库,但是仍然绑定端口在3306上,这样可以在只迁移数据库的情况下依然保证整个应用可用。

先去Daocloud的应用编排里面创建一个新的应用

然后直接连接到这个数据库

完成后直接重启java web应用,看看应用是不是一切正常。

迁移Java Web项目

这个就稍微复杂一些了,因为mysql啥的中央库都有,不需要自己构建。但是这个就必须自己构建了。

DaoCloud提供了代码构建功能,也支持bitbucket的私有库,唯一需要做的就是添加一个Dockerfile来构建,当然如果不想添加到代码库中也可以使用云Dockerfile功能。

比如这个项目的Dockerfile如下

在构建中跳过了测试,不过这个问题不大,因为DaoCloud也提供了持续集成功能,可以先跑测试。

docker

选定一个标注为latest。再去应用编排中更新YAML配置

这样整个应用就迁移好了。最后再nginx中更新反向代理的端口为8021即可。

当然这个时候8021端口是对外暴露的,可以改成

DaoCloud我最喜欢的是可以直接看日志

log

 

One Reply to “迁移遗留项目到Docker”

发表评论

电子邮件地址不会被公开。