利用Docker搭建java项目开发环境
一、需求
一台 Ubuntu 16.0.4 LTS ,安装了Docker服务,Rancher服务,也制作了Tomcat相关的image,接下来我们就来说一下如何快速的构建一个开发环境和测试环境
二、步骤
2.1:创建本地挂载目录
在宿主host主机上面创建两个目录,一个用来挂载正式环境的war,一个用来挂载测试环境的war,如下图所示
命令:mkdir formal test

接下来用Eclipse创建一个最简单的Dynamic Web Project,只有一个index.jsp然后打包为TestSite.war,然后把TestSite.war分别放到formal和test
目录下,如下图所示

2.2:启动容器
启动测试环境容器 tomcat_test
docker run -d --name=tomcat_test -it -v /ylkj/test:/tomcat/webapps -p : tomcat:test1
参数解析:
--name=tomcat_test: 是给容器自定义一个名称,用来区分业务,为测试环境
-v:给测试的容器指定挂载的本地目录为/ylkj/test 以后测试的包就发布到Host主机的这个目录下面 /tomcat/webapps是tomcat的运行环境目录,具体还是要看Dockerfile是如何指定Tomcat和java环境的
启动正式环境容器 tomcat_formal
docker run -d --name=tomcat_formal -it -v /ylkj/formal:/tomcat/webapps -p : tomcat:test1
参数解析:
--name=tomcat_formal: 是给容器自定义一个名称,用来区分业务,为正式环境
-v:给正式的容器指定挂载的本地目录为/ylkj/formal 以后正式的包就发布到Host主机的这个目录下面 /tomcat/webapps是tomcat的运行环境目录,具体还是要看Dockerfile是如何指定Tomcat和java环境的
如下图所示,可以看到容器启动成功

去Rancher平台可以看到,我们新创建的测试环境和正式环境的容器,如下图所示

2.3:访问测试
在浏览器分别输入http://192.168.1.53:50080/TestSite/和http://192.168.1.53/TestSite/可以看到都可以访问到我们的index.jsp

2.4:修改项目文件夹名称为ROOT
这样的目的是Tomcat 配置文件中指定的默认访问的项目是ROOT,这样改以后上面的地址就可以不输入项目名称了,直接访问IP或者IP:PORT就可以访问web项目了
进入host主机的/ylkj/formal进行修改文件夹的操作,如下图所示,测试环境同理对/ylkj/test下面的TestSite进行更名

更新操作完成如下图所示

直接输入http://192.168.1.53:50080和http://192.168.1.53进行测试如下,

在以后的操作中,只需要把测试的war包放到/ylkj/test 正式的war包放到/ylkj/formal即可,而tomcat环境用的是一个镜像
简单的说就是发布的环境相同,所以就不会出现测试环境可以跑的,到了正式环境跑不了的情况了
利用Docker搭建java项目开发环境的更多相关文章
- 如何通过Docker搭建一个swoft开发环境
本篇文章给大家分享的内容是关于如何通过Docker搭建一个swoft开发环境 ,内容很详细,有需要的朋友可以参考一下,希望可以帮助到你们. Swoft首个基于 Swoole 原生协程的新时代 PHP ...
- 用 Docker 搭建 ORACLE 数据库开发环境
用 Docker 搭建 ORACLE 数据库开发环境 需要安装 ORACLE 数据库做开发,直接安装的话因为各类平台的限制,非常复杂,会遇到很多问题. 还好,现在有 Docker 化的部署方式,省去很 ...
- 手把手教你用webpack3搭建react项目(开发环境和生产环境)(一)
开发环境和生产环境整个配置源码在github上,源码地址:github-webpack-react 如果觉得有帮助,点个Star谢谢!! (一)是开发环境,(二)是生产环境. 一.首先创建packag ...
- LINUX下搭建JAVA的开发环境
LINUX下搭建JAVA的开发环境 (2009-07-13 10:04:13) 下面就将Linux下JAVA开发环境的搭建详细道来: 1.Linux下JDK的安装 至于下载JDK的二进制可执行 ...
- 使用 Docker 搭建 Java Web 运行环境
黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...
- 转:使用 Docker 搭建 Java Web 运行环境
原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...
- 使用 Docker 搭建 Java Web 运行环境(转)
原文 http://www.importnew.com/21798.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几 ...
- Docker搭建Java Web运行环境
1. 前提条件 安装了Docker的64位Linux 操作系统 Linux操作系统镜像 Linux版本的JDK压缩包 Linux版本的Tomcat压缩包 2. 启动容器 容器是在镜像的基础上来运行的, ...
- Mac下docker搭建lamp本地开发环境
1.先在Mac上下载docker:官网下载:下载地址(选择mac版本下载,可能速度较慢) DaoCloud下载:下载地址(速度较快,可能版本较低) 2.装完之后打开: 3.检查一下是否下载成功: $ ...
随机推荐
- spring-boot 速成(6) 整合disconf
spring-boot虽然不推荐使用xml文件做为配置文件,但是并没有把路堵死,所以与disconf的整合,仍旧可以沿用之前的xml方式来处理. 一.在Application类上用注解导入xml pa ...
- Android的GridView控件点击图片变暗效果
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setC ...
- 上传APP加入视频预览--精简点名
上传APP加入视频预览--精简点名 在为精简点名APP制作视频预览时的坑: 1.视频预览不能太长.也不能太短15-30s就好.我录制的是18s 2.视频的帧数不能太大.也就是说你在录制视频的时候.要慢 ...
- Golang 处理 Json(一):编码
JSON 是一种数据格式描述语言.以 key 和 value 构成的哈系结构,类似 Javascript 中的对象,python 中的字典.通常 json 格式的 key 是字符串,其值可以是任意类型 ...
- stm32 优先级说明
抢占优先级和响应优先级.事实上是一个中断所包括的两个优先级,当中前者是对抢占优先级的级别划分,后者是同样抢占优先级的优先级别的划分. 比方: 中断A抢占优先级比B高,那么A的中断能够在B里面触发,忽略 ...
- delphi 实现Ribbon风格的窗体
随着office2007的兴起,微软让我们看到了Ribbon风格的窗体,现在很多软件也都开始使用Ribbon风格.那么我们如果要自己开发,应当怎么做呢?本文就是为大家解开这个疑团的. 首先,Delph ...
- [Winform]Media Player com组件应用中遇到的问题
摘要 最近一个项目中,需要用到在客户端全屏循环播放视频,当时考虑使用开源的播放器,但控制起来不方便,然后考虑既然都是windows系统,那么可以考虑使用微软自带的Media Player播放器.所以在 ...
- ASP.NET Web API中通过ETag实现缓存
通常情况下Server是无状态的,在ASP.NET Web API中,我们可以让服务端响应体中产生ETag属性,起到缓存的作用.大致实现原理是: 1.服务端的响应体中返回一个ETag属性2.客户端通过 ...
- ASP.NET Web API实践系列03,路由模版, 路由惯例, 路由设置
ASP.NET Web API的路由和ASP.NET MVC相似,也是把路由放在RouteTable中的.可以在App_Start文件夹中的WebApiConfig.cs中设置路由模版.默认的路由模版 ...
- Windows Phone本地数据库(SQLCE):7、Database mapping(翻译)
这是“windows phone mango本地数据库(sqlce)”系列短片文章的第七篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知 ...