Docker11-实战-部署多套环境
创建本地挂载目录
在宿主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-实战-部署多套环境的更多相关文章
- mfs分布式系统从理论简介到实战部署
文章前面想说的话:这篇博客写出来真是有点累到了,本来昨天就基本就写好了,放在草稿里面,今天打开就没有了!!唉,就尼玛离我而去了,只有重写,然后中间虚拟机还“爆炸”重启又搞了一会,不容易呀!!希望各位博 ...
- 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发
<ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...
- Zookeeper+Kafka完全分布式实战部署
Zookeeper+Kafka完全分布式实战部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实我之前部署过kafak和zookeeper的完全分布式,集群是可以正常使用没错, ...
- BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备
上一篇我们已经完成所有的准备工作,现在我们就开始动手,通过接下来的三篇文章创建第一个多维数据集. 传统的维度和多维数据集设计方法主要是基于现有的单源数据集. 在现实世界中,当开发商业智能应用程序时,很 ...
- 1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))
容器化部署一套云服务系列 1. 容器化部署一套云服务之Jenkins 一.购买服务器 服务器
- 使用 Azure CLI 在 Azure China Cloud 云平台上手动部署一套 Cloud Foundry
这篇文章将介绍如何使用 Azure CLI 在 Azure China Cloud 云平台上手动部署一套 Cloud Foundry.本文的目的在于: 了解作为 PaaS 的 Cloud Foundr ...
- Centos7下部署两套python版本并存
Centos7下部署两套python版本并存 需求说明:centos7.2系统的开发机器上已经自带了python2.7版本,但是开发的项目中用的是python3.5版本,为了保证Centos系统的 ...
- 《Linux就该这么学》培训笔记_ch20使用LNMP架构部署动态网站环境
<Linux就该这么学>培训笔记_ch20使用LNMP架构部署动态网站环境 文章最后会post上书本的笔记照片. 文章主要内容: 源码包程序 LNMP动态网站架构 配置Mysql服务 配置 ...
- Jenkins+maven+gitlab自动化部署之基础环境部署(一)
从一个二线城市,来到上海,刚入职,老大就给任务,为了减少开发打包部署时间,需要搭建一套自动化部署环境.接到任务后,赶紧上网查找资料,以及了解jenkins作用等等,用了一周时间,了解了个大概,由于都是 ...
随机推荐
- haproxy 配置文件详解 之 综述
HAProxy 配置文件根据功能和用途,主要有5 个部分组成,但有些部分并不是必须的,可以根据需要选择相应的部分进行配置. 1.global 部分 用来设定全局配置参数,属于进程级的配置,通常和操作系 ...
- SQL数据同步到ELK(一)- 日常开篇
需求 在我们的实际业务中,业务数据大部分是通过传统DB做持久化,但有时会使用Solr/Elastic Search等做搜索.缓存等其他服务,那么如何将数据同步到这些异构的存储系统中呢? 这就是我最近在 ...
- PHP处理SOAP
1.获取functions try { $client = new SoapClient("http://www.fangbei.org/services/inquiryTracingAnd ...
- Expect Command And How To Automate Shell Scripts Like Magic
In the previous post, we talked about writing practical shell scripts and we saw how it is easy to w ...
- 用简单的JS代码制作计算器
代码+注释一共不到200行,是练习交流的必备良药 主界面如下: 操作示意图: 以下是代码部分 HTML: <div> <table class="window"& ...
- 014 Vue学习笔记2
1.组件化 在大型应用开发的时候,页面可以划分成很多部分.往往不同的页面,也会有相同的部分.例如可能会有相同的头部导航.但是如果每个页面都独自开发,这无疑增加了我们开发的成本.所以我们会把页面的不同部 ...
- TP5多字段排序
有业务需求如下: select * from table where id IN (3,6,9,1,2,5,8,7) order by field(id,3,6,9,1,2,5,8,7); 这里直入主 ...
- Go在windows下执行命令行指令
需要在Go写的服务里面调用命令行或者批处理,并根据返回的结果做处理. 在网上搜索了一翻,验证成功,现记录如下: cmd := exec.Command("cmd") // cmd ...
- Python基础笔记(五)
1. 类(class) 下面的代码建立了一个Employee类: #!/usr/bin/env python3 # -*- coding: utf-8 -*- class Employee(objec ...
- 50道Redis面试题及答案整理,史上最全!
在网上看到有关Redis的50道面试题,但是没有给出答案,之前我也在寻找这份Redis面试题的答案,今天特地把答案分享出来. 花了大量时间整理了这套Redis面试题及答案,希望对大家有帮助哈~ 弄明白 ...