一、需求

一台 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项目开发环境的更多相关文章

  1. 如何通过Docker搭建一个swoft开发环境

    本篇文章给大家分享的内容是关于如何通过Docker搭建一个swoft开发环境 ,内容很详细,有需要的朋友可以参考一下,希望可以帮助到你们. Swoft首个基于 Swoole 原生协程的新时代 PHP ...

  2. 用 Docker 搭建 ORACLE 数据库开发环境

    用 Docker 搭建 ORACLE 数据库开发环境 需要安装 ORACLE 数据库做开发,直接安装的话因为各类平台的限制,非常复杂,会遇到很多问题. 还好,现在有 Docker 化的部署方式,省去很 ...

  3. 手把手教你用webpack3搭建react项目(开发环境和生产环境)(一)

    开发环境和生产环境整个配置源码在github上,源码地址:github-webpack-react 如果觉得有帮助,点个Star谢谢!! (一)是开发环境,(二)是生产环境. 一.首先创建packag ...

  4. LINUX下搭建JAVA的开发环境

    LINUX下搭建JAVA的开发环境 (2009-07-13 10:04:13)     下面就将Linux下JAVA开发环境的搭建详细道来: 1.Linux下JDK的安装 至于下载JDK的二进制可执行 ...

  5. 使用 Docker 搭建 Java Web 运行环境

    黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...

  6. 转:使用 Docker 搭建 Java Web 运行环境

    原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...

  7. 使用 Docker 搭建 Java Web 运行环境(转)

    原文 http://www.importnew.com/21798.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几 ...

  8. Docker搭建Java Web运行环境

    1. 前提条件 安装了Docker的64位Linux 操作系统 Linux操作系统镜像 Linux版本的JDK压缩包 Linux版本的Tomcat压缩包 2. 启动容器 容器是在镜像的基础上来运行的, ...

  9. Mac下docker搭建lamp本地开发环境

    1.先在Mac上下载docker:官网下载:下载地址(选择mac版本下载,可能速度较慢) DaoCloud下载:下载地址(速度较快,可能版本较低) 2.装完之后打开: 3.检查一下是否下载成功: $  ...

随机推荐

  1. ios手机填坑总结

    1. 日期格式 ios系统.safari只能识别"2018/10/15 00:00:00",不能识别"2018-10-15 00:00:00",所以需要转换格式 ...

  2. Spartan6 slave SelectMap configuration fails owing to JTAG?

    http://forums.xilinx.com/t5/Configuration/Spartan6-slave-SelectMap-configuration-fails-owing-to-JTAG ...

  3. 如何自定义 maven中的archetype

    1.首先使用eclipse创建一个新的maven project,然后把配置好的一些公用的东西放到相应的目录下面 比如说会将一些常用的java代码存放到src/main/java目录下面: 会将一些通 ...

  4. In-Place upgrade to Team Foundation Server (TFS) 2015 from TFS 2013Team Foundation Server TFS TFS 2015 TFS upgrade TFS with Sharepoint

    This upgrade document gives detailed step by step procedure for the In-Place upgrade from TFS 2013 t ...

  5. msgpack的数据序列和还原

    msgpack的数据序列和还原 msgpack不仅可以序列一些常规的数据类型的数据,比如:string.datetime.integer...... 还能序列olevariant.stream 这就非 ...

  6. 【ELK】5.spring boot日志集成ELK,搭建日志系统

    阅读前必看: ELK在docker下搭建步骤 spring boot集成es,CRUD操作完整版 ============================================== 本章集成 ...

  7. 用SDWebImage加载FLAnimatedImage

    用SDWebImage加载FLAnimatedImage 效果 源码 https://github.com/YouXianMing/Animations // // GifPictureControl ...

  8. 高速Android开发系列通信篇之EventBus

    概述及基本概念 **EventBus**是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间.组件与后台线程间的通信.比方请求网络,等网络返回时通过Hand ...

  9. Android避免过度绘制之道

    如果一个布局十分复杂,那么就需要来排查是否出现了过度绘制,如果出现了,那么很可能会造成刷新率下降,造成卡顿的现象.那么什么是过度绘制呢?过度绘制就是在同一个区域中叠加了多个控件.这就像小时候我们画画, ...

  10. Oracle锦集

    1:将数组转成datatable SELECT COLUMN_VALUE FROM TABLE(CAST(UTIL.INTONUMBERTABLE(REPLACE(NVL(V_CATEGORY_ID, ...