创建本地挂载目录

在宿主host主机上面创建两个目录,一个用来挂载正式环境的war,一个用来挂载测试环境的war

root@ubuntu:/data# mkdir prod test
root@ubuntu:/data# ls
mysql-data prod software test

准备一个简单的java web项目

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

TestDemo.war链接:https://pan.baidu.com/s/1J--E-fmwo5TmMxn1NnjBXw 密码:j3ta

root@ubuntu:/data# ls test/
TestDemo.war
root@ubuntu:/data# ls prod/
TestDemo.war
root@ubuntu:/data#

启动Tomcat容器:通过挂载不同的代码目录和运行端口来区分

这里,我使用了前面章节中构建的tomcat镜像mt/mytomcatdemo

测试环境:

root@ubuntu:/home/guanfuchang# docker run -d -p 28080:8080 --name demo_test -v /data/test/:/data/tomcat/webapps mt/mytomcatdemo:1.0 /data/start.sh

启动后,访问宿主主机ip:端口,如:http://192.168.147.128:28080/TestDemo/

生产环境:

docker run -d -p  80:8080 --name  demo_prod -v /data/prod/:/data/tomcat/webapps mt/mytomcatdemo:1.0 /data/start.sh

启动后,访问宿主主机ip:端口,如:http://192.168.147.128/TestDemo/

案例:修改测试环境代码

通过将宿主主机上的目录/data/test 挂载到容器的/data/tomcat/webapps 目录上后,这两个目录就实现了资源的共享,现在进入宿主主机的目录/data/test中,可以看到多出了一个文件夹TestDemo

现在,修改TtestDemo目录下的index.jsp,如下:

重新访问测试地址和生产地址

http://192.168.147.128:28080/TestDemo/

http://192.168.147.128/TestDemo/


:-:

微信扫一扫,关注“python测试开发圈”,了解更多测试教程!

Docker11-实战-部署多套环境的更多相关文章

  1. mfs分布式系统从理论简介到实战部署

    文章前面想说的话:这篇博客写出来真是有点累到了,本来昨天就基本就写好了,放在草稿里面,今天打开就没有了!!唉,就尼玛离我而去了,只有重写,然后中间虚拟机还“爆炸”重启又搞了一会,不容易呀!!希望各位博 ...

  2. 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发

    <ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...

  3. Zookeeper+Kafka完全分布式实战部署

    Zookeeper+Kafka完全分布式实战部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实我之前部署过kafak和zookeeper的完全分布式,集群是可以正常使用没错, ...

  4. BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备

    上一篇我们已经完成所有的准备工作,现在我们就开始动手,通过接下来的三篇文章创建第一个多维数据集. 传统的维度和多维数据集设计方法主要是基于现有的单源数据集. 在现实世界中,当开发商业智能应用程序时,很 ...

  5. 1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

    容器化部署一套云服务系列 1. 容器化部署一套云服务之Jenkins 一.购买服务器 服务器

  6. 使用 Azure CLI 在 Azure China Cloud 云平台上手动部署一套 Cloud Foundry

    这篇文章将介绍如何使用 Azure CLI 在 Azure China Cloud 云平台上手动部署一套 Cloud Foundry.本文的目的在于: 了解作为 PaaS 的 Cloud Foundr ...

  7. Centos7下部署两套python版本并存

    Centos7下部署两套python版本并存   需求说明:centos7.2系统的开发机器上已经自带了python2.7版本,但是开发的项目中用的是python3.5版本,为了保证Centos系统的 ...

  8. 《Linux就该这么学》培训笔记_ch20使用LNMP架构部署动态网站环境

    <Linux就该这么学>培训笔记_ch20使用LNMP架构部署动态网站环境 文章最后会post上书本的笔记照片. 文章主要内容: 源码包程序 LNMP动态网站架构 配置Mysql服务 配置 ...

  9. Jenkins+maven+gitlab自动化部署之基础环境部署(一)

    从一个二线城市,来到上海,刚入职,老大就给任务,为了减少开发打包部署时间,需要搭建一套自动化部署环境.接到任务后,赶紧上网查找资料,以及了解jenkins作用等等,用了一周时间,了解了个大概,由于都是 ...

随机推荐

  1. 【可持久化线段树】【P5826】【模板】子序列自动机

    [可持久化线段树][P5826][模板]子序列自动机 Description 给定一个序列 \(A\),有 \(q\) 次询问,每次询问一个序列 \(B\) 是不是 \(A\) 的子序列 Limita ...

  2. LOJ6625 时间复杂度(min_25筛)

    本人在LOJ的第三题(前两题太水不好意思说了QwQ),欢迎大家踩std. 题目链接:LOJ 题目大意:定义函数 $f$:($minp$ 表示最小质因子) $$f(x)=\begin{cases}0&a ...

  3. 三天精通Vue--学前摘要

    Vue Vue是一个前端框架,中文学习教程https://cn.vuejs.org/v2/guide/components.html 学习的前提:一点的 HTML+CSS+js node.js是前端的 ...

  4. 关于微信小程序前端Canvas组件教程

    关于微信小程序前端Canvas组件教程 微信小程序Canvas接口函数 ​ 上述为微信小程序Canvas的内部接口,通过熟练使用Canvas,即可画出较为美观的前端页面.下面是使用微信小程序画图的一些 ...

  5. 把ubuntu自带的高gcc版本降到低版本(如gcc 3.4)的方法

    转载自: 博客1.博客2 .博客3 步骤 第一步: 下载所需gcc安装包(.deb格式) 手动:老版本gcc下载地址:http://old-releases.ubuntu.com/ubuntu/poo ...

  6. 修改ARP缓存表大小

    在下发Mininet的ARP缓存表表项时,出现了如下的错误信息: SIOCSARP: No buffer space available 这是由于ARP表是缓存在内存中的,超过了系统对ARP缓存表大小 ...

  7. golang基础语法

    golang语言的常量定义: const  filename="abc.txt"; const filename String="abc.txt" golang ...

  8. Prometheus 标签使用示例整合

    Prometheus 监控实例 一.Prometheus 根据标签聚合总CPU使用率 1.主机添加标签(可在多个主机内添加相同标签实现聚合):vim prometheus.conf static_co ...

  9. 系统压测结果对比:tomcat/thinkphp/swoole/php-fpm/apache

    [测试所用服务器8核,16G内存]压测接口:很简单,从一张表里根据主键随机查询出一条数据[数据库服务器和WEB服务器分开的].表数据量大概:910000+条. 这个测试结果很有趣:tp5.0和3.2性 ...

  10. Tomcat 路由请求的实现 Mapper

    在分析 Tomcat 实现之前,首先看一下 Servlet 规范是如何规定容器怎么把请求映射到一个 servlet.本文首发于(微信公众号:顿悟源码) 1. 使用 URL 路径 收到客户端请求后,容器 ...