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

 更新时间:2019年01月21日 09:08:46   作者:Benar  
这篇文章我们就来说一下怎么在docker中快速部署一个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跑起来是在前端运行的,这也是我为什么打开第二个终端的原因。

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

 

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

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

相关文章

  • Centos8无法安装docker问题的解决方法

    Centos8无法安装docker问题的解决方法

    这篇文章主要给大家介绍了关于Centos8无法安装docker问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • docker网络,docker-compose network问题

    docker网络,docker-compose network问题

    这篇文章主要介绍了docker网络,docker-compose network问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Docker容器搭建Kafka集群的详细过程

    Docker容器搭建Kafka集群的详细过程

    这篇文章主要介绍了Docker容器 Kafka集群的搭建,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • DockerToolBox文件挂载的实现代码

    DockerToolBox文件挂载的实现代码

    这篇文章主要介绍了DockerToolBox文件挂载的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Docker 数据卷及数据容器详细介绍及示例

    Docker 数据卷及数据容器详细介绍及示例

    这篇文章主要介绍了Docker 数据卷及数据容器详细介绍及示例的相关资料,Docker 很强大,不仅部署维护提高效率,docker和宿主之间的数据共享以及docker间的数据共享需要好好研究一下,需要的朋友可以参考下
    2016-11-11
  • Docker下安装ElasticSearch和Kibana的示例代码

    Docker下安装ElasticSearch和Kibana的示例代码

    这篇文章主要介绍了Docker下安装ElasticSearch和Kibana的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Docker搭建RabbitMQ集群的方法步骤

    Docker搭建RabbitMQ集群的方法步骤

    本文主要介绍了Docker搭建RabbitMQ集群的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 一步步详解如何在Ubuntu 18.04上安装Docker

    一步步详解如何在Ubuntu 18.04上安装Docker

    Docker是基于Go语言实现的云开源项目,下面这篇文章主要给大家介绍了关于如何在Ubuntu 18.04上安装Docker的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • 使用docker搭建go环境的简单步骤

    使用docker搭建go环境的简单步骤

    最近公司里面的项目用到了Docker,正好准备学习下Golang,所以就学习Golang顺便也学习下Docker怎么用的,刚好从头开始配置下环境,这篇文章主要给大家介绍了关于使用docker搭建go环境的简单步骤,需要的朋友可以参考下
    2023-10-10
  • docker screen命令的使用

    docker screen命令的使用

    本文主要介绍了docker screen命令的使用,Screen命令则提供了强大的多会话管理功能,让我们可以实时监控和操作容器,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01

最新评论