基于CentOS7将Java应用生成docker镜像
2017-10-16 10:51
633 查看
上次总结了将javaweb项目生成docker镜像,但是在实际生产中,一个完整的系统不只是页面项目,还包括了java应用,如esb实例,下面进行一个概述总结,关于docker环境的搭建和一些docker基本操作命令,这里就不赘述了,可以参考上一篇博客:
http://blog.csdn.net/u010564366/article/details/78216946
二 总体思路
拉取centos基础镜像->生成容器->在容器中搭建java环境->
将java项目打成可执行jar包->将jar包放到容器中->新建脚本在容器中启动应用->映射容器端口->在外部访问容器中的服务
三 详细操作
1,拉取centos基础镜像,搭建java环境,不再赘述,请参考上篇博客
2,在应用中新建目录(文件夹)
3,将准备好的可执行jar文件拷贝到容器中的/esb/lib目录下
4,进入容器
5,编写启动脚本(这里写个简单的启动脚本,可根据实际完善)
6,至此,基本工作准备好了,生成镜像esb_image:0.1
7,基于新生成的镜像生成容器并映射好宿主主机到容器的端口
ps:这里推荐博客http://lib.csdn.net/article/docker/1014
8,启动服务
9,退出容器,并访问服务
以上,有不足的地方,在后面学习中完善,比如采用dockerfile来启动容器
http://blog.csdn.net/u010564366/article/details/78216946
二 总体思路
拉取centos基础镜像->生成容器->在容器中搭建java环境->
将java项目打成可执行jar包->将jar包放到容器中->新建脚本在容器中启动应用->映射容器端口->在外部访问容器中的服务
三 详细操作
1,拉取centos基础镜像,搭建java环境,不再赘述,请参考上篇博客
2,在应用中新建目录(文件夹)
# mkdir esb # cd esb # mkdir lib # mkdir bin
3,将准备好的可执行jar文件拷贝到容器中的/esb/lib目录下
# docker cp /root/esb.jar 容器ID:/esb/lib
4,进入容器
# docker exec -it 容器ID /bin/bash
5,编写启动脚本(这里写个简单的启动脚本,可根据实际完善)
# cd esb/bin # touch start_esb.sh # vi start_esb.sh 然后加入如下内容 #!/bin/sh java -jar ../lib/esb.jar & echo "start aiesb success..." 保存退出 对刚刚新建的脚本文档进行赋权 # chmod 755 esb.jar
6,至此,基本工作准备好了,生成镜像esb_image:0.1
# docker commit 容器ID esb_image:0.1
7,基于新生成的镜像生成容器并映射好宿主主机到容器的端口
ps:这里推荐博客http://lib.csdn.net/article/docker/1014
# docker run -it -p 宿主机端口:容器内服务端口 镜像名:版本 /bin/bash
8,启动服务
# cd esb/bin # ./start_esb.sh
9,退出容器,并访问服务
例如在容器化之前访问: 127.0.0.1:8888/oppf 映射后 127.0.0.1:99999/oppf
以上,有不足的地方,在后面学习中完善,比如采用dockerfile来启动容器
相关文章推荐
- 基于CentOS7将JavaWeb项目生成docker镜像
- 使用Dockerfile制作基于Centos7支持ssh的java环境镜像
- 基于docker官网镜像centos7配置Java运行环境
- Docker教程三之基于Centos7的Nginx环境镜像以及简单负载均衡
- docker 使用centos 镜像 运行 javaweb ,并重新生成镜像
- 利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像
- Docker教程二之基于Centos7的NodeJS环境镜像
- 基于jenkins构建应用的docker镜像做持续集成和部署
- 详解docker镜像centos7配置Java运行环境
- docker 使用centos 镜像 运行 javaweb ,并重新生成镜像
- Docker基于centos7搭建Java环境
- 使用Dockerfile创建简单java应用镜像
- CentOS7 Fedora26 基于docker.io/redmine镜像配合MySQL搭建redmine服务器
- 制作基于centos7的mysql的docker镜像
- 在DaoCloud平台部署基于Docker镜像的应用
- Docker容器部署Java web应用(容器基础上创建新镜像)
- 利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像
- Docker应用四:搭建docker镜像仓库(包括自生成https证书、登陆认证)
- centos7 docker Dockerfile 生成镜像
- Dockerfile生成镜像并实现应用自启