在Docker中利用Tomcat快速部署web应用的方法示例

在学习了docker的基本操作之后,我们就可以尝试在我们的container中部署一些基本的应用了。

这篇文章我们就来说一下怎么在docker中快速部署一个web应用。

首先肯定是要机器中安装了docker,如果没安装就是用yum install -y docker 命令安装一下

yum install -y docker 

既然是部署web应用,那么当然少不了Tomcat了,所以我们应该先拉取Tomcat镜像。命令如下

docker pull tomcat

这个镜像有点大,所以可以事先拉取好,节省时间。

接下来我们就用Tomcat镜像来启动一个容器

docker run -it --name webdemo -p 80:8080 tomcat /bin/bash

这里我们启动一个交互式的容器,名字是webdemo,-p 80:8080表示将容器的8080端口映射到主机的80端口,这样我们只要访问主机的80端口就可以访问到容器的服务了。

容器创建好了之后是会进入容器里面的,这时我们刚好可以看看内部的文件结构。那里有个webapps文件,我们只要把我们的web应用程序保存成war包的格式,然后再复制到这个文件中就可以了。因为Tomcat会自动帮我们解压并且部署war包。

如何将文件从主机复制到容器中?

因为我之前的终端在容器里面,这里我开启第二个终端进行操作。我的war包文件我放在/mnt/的目录下

从主机复制到容器 sudo docker cp host_path containerID:container_path

从容器复制到主机 sudo docker cp containerID:container_path host_path

我们这里用的命令是:

docker cp /mnt/webdemo.war a2f2091a661fa51e02c0be54f252fc46fc604932526b17038ccc267affcef12c:/usr/local/tomcat/webapps

其中那个长的字符串是容器的id,自己去查一下。 后面的路径是容器的内部路径,实在不懂可以复制过去,这里要注意:冒号后面没有空格,我之前有空格,一直复制不过去。

接下来就是启动Tomcat了。

war包已经导入容器中了,这个时候我们可以去第一个终端查看一下

可以看到war包已经导入了。但是这个时候Tomcat服务其实是没有启动的,下面我们就启动Tomcat服务,让Tomcat帮我们完成war包的解压和部署。

这里我们进入bin目录把目录下的catalina.sh文件run起来,这样Tomcat就跑起来了,而且Tomcat跑起来是在前端运行的,这也是我为什么打开第二个终端的原因。

最后我们可以在浏览器中查看效果:

这个页面只是我用来做演示的,所以大家有别的小应用都可以试试看!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Tomcat默认程序发布路径的使用与修改方法讲解

    tomcat7默认的程序发布路径为tomcat/webapps/ROOT/下面. 例子 比如我在tomcat/webapps/ROOT/路径下新建一个jsp文件,则可以直接通过URL为: http://localhost:8080/index.jsp 来访问. 再比如我做文件的上传和下载功能时,可以在ROOT下新建一个FileUpload文件夹,把上传文件的路径设为这个文件夹下,然后上传一个文件test.txt:做下载功能时,点击该文件的下载按钮,可以直接让网页打开一个URL: http://l

  • Tomcat中的Connector配置讲解

    JBoss使用Tomcat作为Web容器,因此在JBoss中对于Web容器的配置也类似于在Tomcat中的配置,主要就是对于 server.xml文件的编辑,在JBoss 5.x中,这个文件位于${JBOSS.HOME}\server\${confifure}\deploy\jbossweb.sar下,其中 configure的值可以是all, default,web,standard, minimal等.下面的代码展示了一个JBoss default配置下的server.xml,由于篇幅原因,

  • Centos7.5配置java环境安装tomcat的讲解

    Tomcat是基于java语言的web服务器软件,本文主要介绍如何在centos7.5上配置java环境并安装tomcat 1.安装Java环境: 访问orcal官网下载JDK rpm包:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载完成后执行:rpm -ivh jdk-8u161-linux-x64.rpm进行安装,默认会安装到/usr/java目录下 安装完成后,修

  • Idea配置maven-tomcat-plugin插件实现项目部署

    参考文章: maven tomcat plugin实现热部署:https://www.jb51.net/article/143054.htm 实现maven项目部署到服务器分为如下几个步骤: tomcat 的tomcat-users.xml中添加用户: maven 的settings.xml中添加server: pom.xml中添加tomcat7-maven-plugin插件配置: 在tomcat运行的情况下,运行 tomcat7:deploy 命令. 1.添加用户 在 标签内: <role r

  • Tomcat使用Log4j输出catalina.out日志

    Tomcat默认的日志是用java.util.logging,有几点不足,文件catalian.out不能像log4j一样按天生成,将越来越大.日志格式和项目中用log4j打出来的不一致,不利于解析. 从tomcat官网(https://tomcat.apache.org/tomcat-7.0-doc/logging.html)上找了下,修改一些配置.替换扩展包即可使用log4j输出catalian.out. 在$CATALINA_BASE/lib下创建log4j.properties文件 lo

  • Tomcat+Mysql高并发配置优化讲解

    1.Tomcat优化配置 (1)更改Tomcat的catalina.bat 将java变成server模式,增大jvm的内存,在文件开始位置增加 setJAVA_OPTS=-server -Xms1024m -Xmx2048m -Xss512K -XX:PermSize=128m-XX:MaxPermSize=256m setCATALINA_OPTS=-server -Xms512m -Xmx512m 如下图: Xms:初始内存 Xmx:最大内存 (2)更改Tomcat的Server.xml

  • 详解关于tomcat切割catalina.out日志的三种方式

    1.log4j进行日志切分 1)准备三个包:log4j-1.2.17.jar      tomcat-juli.jar      tomcat-juli-adapters.jar 放到tomcat的lib目录或者是工程的WEB_INF/lib下, 2)在lib目录下新建log4j.properties,加入以下内容 log4j.rootLogger = INFO, CATALINA # Define all the appenders log4j.appender.CATALINA = org.

  • Tomcat支持https访问的步骤讲解

    如何让tomcat支持https访问呢 步骤: (1)生成keystore文件 命令:keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 365 -keystore tomcat22.keystore 生成的文件 就是:tomcat22.keystore (2)把keystore 文件放在conf目录下 (3)修改server.xml文件 添加: <Connector port="80" protoc

  • IDEA导入eclipse项目并且部署到tomcat的步骤详解

    前言 本文主要给大家介绍了关于IDEA导入eclipse项目并部署到tomcat的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 步骤如下: 1.首先引入本地项目 我这里是maven项目就直接选择的以maven项目引入,如果选eclipse的话,pom文件不会被初始化,部署tomcat会出问题 这项选完后,就一路next,jdk可以在引入的时候选择,也可以引入后在配置,注意jdk版本要与项目一致 现在项目就从成功引入进来了,可能现在项目会有一大堆红杠,是因为项目还没有配

  • Intellij idea下使用不同tomcat编译maven项目的服务器路径方法详解

    问题出现原因: 使用自己下载的tomcat运行maven项目,其中有图片上传模块,图片全部上传到target目录下的工程文件里.结果使用maven的clean插件时,图片全部被删除. 目录如下: 为了解决这个问题,想了如下几种方法: 更改output directory目录 Tomcat 增加虚拟目录.但Intellij idea里的工程运行的是 catalina.sh run 命令,工程外的文件路径访问不到 在第2种方法的基础上,同时运行Tomcat/bin/startup.sh脚本,但比较麻

随机推荐