docker入门教程(2)

网上搜了很多关于怎么建dockerfile的文章,鉴于我是第一次接触和认识docker,并且我们单位是由运维人员来操作执行将将应用从VM迁到docker的,所以我只能简单从我的这次迁移经验来描述下迁移的过程可能是怎样的。

1. 流程基本是:

安装docker-》创建dockerfile文件-》build一个image镜像-》启动docker

2. 重点说下dockerfile需要什么

我们公司的应用分为两种,jar包和war包,jar就是直接Java启动,war就是Tomcat启动

(jar和war的区别:https://www.jianshu.com/p/57f8a4aae6a3)

所以,dockerfile我们可以有两种书写方式

前提是,运维人员让我填一个表格,里面就是需要的配置参数:Tomcat,jdk版本号、挂载、日志配置文件路径、jvm配置、server.xml配置、调用的外链(数据库、Redis、MQ等)

1)jar包启动的

举个栗子:https://blog.csdn.net/wzygis/article/details/80533993

重点是

ENTRYPOINT java -jar /apps/svr/ecf.platform.web-0.0.1-SNAPSHOT.jar --server.port=8082 --spring.profiles.active=sit

2)war包启动的

举个栗子:https://blog.csdn.net/lym152898/article/details/78358238

ADD QuestionBase.war /usr/local/tomcat/webapps/
CMD ["catalina.sh", "run"]

dockerfile的语法:

https://blog.csdn.net/hry2015/article/details/62054566

注意在写file的过程中就会遇到运维人员要我们写的参数,比如Tomcat jdk的版本号配置,会用ENV,挂载会用到VOLUME,执行会用到CMD或ENTRYPOINT等,但是我还是不清楚这些外链接为什么还需要写在表格里?日志路径好像也没用上?

在环境调试的过程中遇到一个问题是我们的端口配的是8086的,但是没有在表格里说明,所以运维默认用了EXPOSE 8080,导致调接口失败

还有一个问题是我们的jar包在vm上运行没有问题,但是在docker上就会报环境问题

所以开发加了两个注释才不报错,提醒大家注意下

3. dockerfile做好后,建镜像和启动就应该简单了,我们公司用的是spider,因此除了运维人员,其他人员只能通过前台页面操作,所以我无法感受到。

最后还保留一个问题需要研究:

公司是怎么通过docker布局的,现在我仅是知道在一个服务器上安装docker,建立镜像,启动应用,还需要知道docker是怎么真正节省空间和时间的

你可能感兴趣的:(测试)