#以交互的方式启动本地的镜像tomcat:hps,并且将本地目录/mnt/iso挂在到容器中的/tmp/repositories目录,方便从本地获取一些安装文件并进行一些操作

docker run -i -t -v /mnt/iso:/tmp/repositories tomcat:hps /bin/bash

#进行一些比如安装之类的操作。

docker ps

#找到自己正在操作的容器id(例如3bf5491933f2),然后退出交互界面,执行以下命令

docker commit 3bf5491933f2 tomcat:hps1

###此时的容器tomcat:hps1实际上是会加一层/bin/bash的操作,如果直接执行docker run -d -p 8081:8080 tomcat:hps1 不加命令,默认就是提供/bin/bash命令,因此需要在这一层外面再封装一层命令,并将容器内tomcat端口(以下已8080为例)暴露出来,通过Dockerfile方式来实现,文件内容如分割线内所示:

#----------分割线----------

# This is a comment
FROM tomcat:hps1
# expose httpd port
EXPOSE 8080
# the command to run
CMD ["/usr/local/tomcat/bin/catalina.sh","run"]

#----------分割线----------

#然后在Dockerfile文件所在目录下,执行以下命令生成docker镜像:

docker build -t tomcat:hmr .

#这时候直接执行以下命令可以验证

docker run -d -p 8081:8080 tomcat:hmr

#如果希望将这个tomcat:hmr镜像保存成文件,可以执行:

docker save -o tomcat_hmr.tar tomcat:hmr

#这样就可以拷贝到其他服务器上去,然后可以在那台服务器上执行以下命令将镜像加载到本地(而非仓库中):

docker load -i tomcat_hmr.tar

###如果不想再在tomcat:hps1外封装一层,需要执行以下命令才能使用:

docker run -d -p 8081:8080 tomcat:hps1 /usr/local/tomcat/bin/catalina.sh run

以tomcat镜像为基础部署war包后再做成镜像的更多相关文章

  1. docker学习5-docker安装tomcat环境和部署war包

    前言 tomcat部署web项目非常方便,把war包放到webapps目录就可以了.本篇使用docker快速搭建一个tomcat环境 下载tomcat镜像 拉取官方最新版tomcat镜像 [root@ ...

  2. 部署war包后,新增tomcat服务器,启动tomcat服务器报错解决方法

    导入Maven工程后,新增tomcat服务器,启动服务器后,报如下错误: 使用http访问页面的时候报如下错误: 经过百度后,有一种方法可以解决: 在eclipse tomcat无法启动,无法访问to ...

  3. springboot打war包后部署到tomcat后访问返回404错误

    springboot打war包后部署到tomcat后访问返回404错误 1.正常情况下,修改打包方式为war <packaging>war</packaging> 2.启动类继 ...

  4. tomcat本地部署war包的方式

    最近学习java,在本地tomcat部署时,主要采取以下方式: 一.本地构建生成war包 在本地项目中的terminal下,使用命令 “mvn clean install”或 先执行“mvn clea ...

  5. Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

    Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...

  6. Docker容器Tomcat部署war包

    在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器.上传war包到容器.重启容器.访问应用. 1.创建tomcat容器 使用docker run  -d --nam ...

  7. 如何使用Dockerfile构建Tomcat镜像并部署war

    我们都知道Docker构建一个镜像有两种方式: 使用`docker commit`命令 使用`Dockerfile`文件和`docker build`命令 那么这两种方式有何区别呢? 相同点:底层实现 ...

  8. tomcat快速部署War包操作

    Linux快速部署War包操作,暂时是最简单的操作 1.先关闭Tomcat /home/java/tomcat7/bin/shutdown.sh 2.进入War包存放目录(可以通过工具:SSH Sec ...

  9. 如何在阿里云上部署war包到tomcat服务器

    一. 准备工作:xshell和xftp 首先我们得确保,xshell能够远程连接阿里云ECS,xftp能够保证windows和linux之间的文件传输(当然也可以选择FileZilla,但xftp感觉 ...

随机推荐

  1. 小D课堂 - 新版本微服务springcloud+Docker教程_4-06 Feign核心源码解读和服务调用方式ribbon和Feign选择

    笔记 6.Feign核心源码解读和服务调用方式ribbon和Feign选择         简介: 讲解Feign核心源码解读和 服务间的调用方式ribbon.feign选择             ...

  2. dede不同栏目调用不同banner图的方法

    用顶级栏目ID 方法: <img src="{dede:global.cfg_templets_skin/}/images/{dede:field.typeid function=&q ...

  3. Fidessa

    Fidessa这样为券商提供交易系统和与交易所连接的公司被称作Independent Software Vendor, 同类的还有FIS(前SunGuard), Bloomberg(AIM), Tho ...

  4. 微信小程序添加卡券到微信卡包,使用wx.addCard()方法传参及整体流程

    一.准备: 1.经微信认证过的微信公众号. 2.经微信认证过的微信小程序号. 先来看看微信小程序官方的文档,https://developers.weixin.qq.com/miniprogram/d ...

  5. 架构模式: Saga

    架构模式: Saga 上下文 您已应用每服务数据库模式.每个服务都有自己的数据库.但是,某些业务事务跨越多个服务,因此您需要一种机制来确保服务之间的数据一致性.例如,假设您正在建立一个客户有信用额度的 ...

  6. 大于2T的硬盘怎么分区

    使用parted工具: #yum install parted #parted /dev/sdb    //选择要分的硬盘 GNUParted 2.3Using /dev/sdbWelcome to ...

  7. 【并行计算-CUDA开发】CUDA线程、线程块、线程束、流多处理器、流处理器、网格概念的深入理解

    GPU的硬件结构,也不是具体的硬件结构,就是与CUDA相关的几个概念:thread,block,grid,warp,sp,sm. sp: 最基本的处理单元,streaming processor  最 ...

  8. 【Python】【demo实验6】【练习实例】【奖金发放计算(阶梯)】

    题目: 企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%:20万到40万 ...

  9. Springboot Actuator之一:执行器Actuator入门介绍

    介绍 Spring Boot有四大神器,分别是auto-configuration.starters.cli.actuator,本文主要讲actuator.actuator是spring boot提供 ...

  10. py2和py3之间的不同

    1.print函数 很琐碎,而 print 语法的变化可能是最广为人知的了,但是仍值得一提的是: Python 2 的 print 声明已经被 print() 函数取代了,这意味着我们必须包装我们想打 ...