10、docker 安装 tomcat

2023-10-27

一、docker 环境下安装中间件总体步骤 

  1. 搜索镜像
  2. 拉取镜像
  3. 查看镜像
  4. 启动镜像--服务端口映射

但其实,docker run 的时候,就会帮我们去配置的 registry 拉取镜像了,也就是 搜索镜像 这一步,其实是可有可无的。 

二、安装 tomcat

1、docker hub上面查找 tomcat 镜像

docker search tomcat

找到官方 OFFICAL ,这个就是我们要拉的镜像

 2、从 docker hub上拉取 tomcat 镜像到本地

docker pull tomcat

 

  3、docker images 查看是否有拉取到的 tomcat

docker images tomcat

  4、使用 tomcat 镜像创建容器实例 (也叫运行镜像)

docker run -it -p 8080:8080 tomcat

-p 小写,宿主机端口 :docker 容器端口

-P 大写,随机分配端口

i:交互

t:终端

d:后台

 打印出这句话,就说明启动成功了

 但此时,我们不能把终端停掉,因为我们是 -it 交互式启动,tomcat 会阻塞在那边等待请求连接进来。我们重新启动一个 linux 终端来查看一下我们的容器。

看到我们的 tomcat 正常启动了,而且 宿主机的 8080 端口 映射到 容器的 8080 端口。

 但其实,对于 tomcat 这种服务,我们习惯于 -d 后台启动它。

docker run -d -p 8080:8080 tomcat

所以这里,我们先把容器停掉,然后再重新启动它。

可以看到,docker start 启动的,就是后台启动方式。

当然如果从一开始,用 -d 参数也是这个效果。这里就不演示了。

 5、访问 tomcat 首页

因为我的 docker 服务是安装在阿里云ECS服务器上的,所以需要在安全组开放一下 8080 端口。

0.0.0.0 表示不限定特定IP的访问。

 在浏览器中输入   阿里云ECS公网IP:8080

发现访问失败

6、新版 tomcat webapps 路径有变更

  我们进入到容器内部。

docker exec -it 容器ID /bin/bash

我们知道,tomcat 首页要能够访问,webapps 下要有内容,现在 webapps 下面是空。

这是因为,新版的 tomcat 把一些静态资源,放置到 webapps.dist 目录下。

所以,我们需要把空的 webapps 删除掉,然后把 webapps.dist 目录替换成 webapps

 

 在浏览器中再访问

发现可以了,而且版本比较高的 Tomcat 10

 但是每次安装这样修改路径也是很麻烦,我们可以自己制作一个镜像,然后上传到仓库,当然,这种镜像已经有人帮我们制作了一个,我们拿来用就行。

三、免修改版安装

我们先停掉我们上面的 tomcat 

 拉取一个免修改版镜像

docker pull billygoo/tomcat8-jdk8

 运行

docker run -d -p 8080:8080 --name t1 billygoo/tomcat8-jdk8

  在浏览器中再访问

现在的版本已经变为 8.0.53

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

10、docker 安装 tomcat 的相关文章

  • Spring Rest-API - 403 禁止错误响应

    我是 Spring 新手 我正在编写 REST API 我收到 403 删除 放置禁止错误 以下是我正在处理的示例 RequestMapping value noteId method RequestMethod PUT public Re
  • 如何限制用户键入时 JTextPane 中的字符数 (Java)

    我需要不允许在输入 X 后输入任何字符 我需要在输入 X 个字符后发出蜂鸣声 我知道如何在用户按 Enter 键后执行此操作 但我需要在用户按 Enter 键之前执行此操作 我从 Oracle 站点找到的方法是将 DocumentSizeF
  • 如何在JUnit测试中将MockWebServer端口设置为WebClient?

    我在用着spring boot with WebClient 它被自动装配为一个 bean 问题 写一个junit集成测试 我必须使用okhttpMockWebServer 该模拟始终在随机端口上启动 例如localhost 14321 N
  • UnsupportedOperationException:特权进程中不允许使用 WebView

    我在用android sharedUserId android uid system 在我的清单中获得一些不可避免的权利 从 HDMI 输入读取安卓盒子 http eweat manufacturer globalsources com s
  • 跨 CPU 内核的 rdtsc 精度

    我从一个线程发送网络数据包 并在运行于不同 CPU 核心上的第二个线程上接收回复 我的流程测量每个数据包发送和接收之间的时间 类似于 ping 我使用 rdtsc 来获得高分辨率 低开销的计时 这是我的实现所需要的 所有测量结果看起来都很可
  • 如何加快 jar 签名者的速度?

    我使用 ant 来签署我的 jars 以进行网络启动部署 Ant signjar 在 Web 启动签名时非常慢 如何加快签名过程 我找到了一种可能的解决方案 早些时候 在构建脚本 ant signjar 中 按顺序调用所有 jar 我们使用
  • 无法在网络 nat 上创建端点:Win32 中的 hnsCall 失败:该进程无法访问该文件

    我正在尝试运行以下 docker 命令 最新的 Win10 Fall 2018 更新 最新的 docker 版本 2 0 docker run d p 1433 1433 e sa password Test 123 e ACCEPT EU
  • Ubuntu 的打包 - Web 应用程序

    Web 应用程序没有与 C 或类似文件不同的 make 文件 但是 它需要放置在特定的目录中 例如 var www 我是 Linux 打包新手 所以我的问题是 如何将我的应用程序打包到 deb 中 以便在安装时将其放入 etc myprog
  • 使用java读取Excel工作表的单列

    我有一张 Excel 表格 我想编写一个方法 该方法将参数作为要读取的列号 并返回一个由该列中的所有数据组成的数组 然后将该列元素放置在 xml 工作表中 我怎样才能编写一个方法来做到这一点 使用 Apache POI 您可以在他们的使用页
  • 在Java中使用==而不是equals来比较不可变对象可以吗

    考虑调用静态工厂方法 valueOf 的两个 Integer 类型的引用 如下所示 Integer a Integer valueOf 10 Integer b Integer valueOf 10 考虑到Integer是不可变的 使用 而
  • jsf 中的类型未找到属性

    我正在尝试调用 jsf 中使用 primefaces 的属性 但我有错误 500 在托管bean PersonelBean 类型上找不到 我正在使用 hibernate jsf 和 spring PersonelBean java Mana
  • 这个finally子句包含close()调用的原因是什么

    我正在学习在线java课程 使用 Java 编程简介 http math hws edu javanotes index html 在 I O 章节中 引入了以下代码 顺便说一下 在本程序的末尾 您将发现我们第一个有用的 try 语句中的
  • 使用 Mockitos 传递参数化输入

    我正在使用 Mockito 进行单元测试 我想知道是否可以使用 Junit 测试中的方式发送参数化输入参数 e g InjectMocks MockClass mockClass new MockClass Test public void
  • 在同一台计算机上设置 JBoss 的多个实例

    我在 JBoss 社区中找到了下一页 http www jboss org community wiki ConfigurePorts http www jboss org community wiki ConfigurePorts 有下一
  • 如何强制初始化 Hibernate JPA 代理以在 JSON 调用中使用它

    我有一个 Spring 3 JPA 2 0 应用程序 在我的 Controller我需要一个初始化的对象 但我有代理 我需要能够以编程方式初始化它 我需要类似的功能org hibernate Hibernate initialize Obj
  • 我们可以用java定制一个垃圾收集器吗?

    我们知道java的垃圾收集器是一个低优先级线程 在java中我们可以创建任何具有高优先级的线程 那么是否有可能拥有我们自己定制的具有可变优先级的垃圾收集器线程 我们可以根据内存管理的级别进行设置 有人尝试过吗 如果是的话 您能分享一些关于如
  • servlet 如何获取 servlet 之外的文件的绝对路径?

    我们一直在使用 System getProperties user dir 来获取属性文件的位置 现在它已经部署在 Tomcat 上 通过 servlet 系统调用将位置指定为 tomcat 而不是属性文件所在的位置 我们如何动态调用属性文
  • Java 中的可迭代求和?

    有没有一个库可以做到这一点 public class Iterables private Iterables public static
  • 如何在jpa中共享EntityManagerFactory

    我是 jpa 的新手 这是场景 我正在开发一个 Web 应用程序 其中 多个用户可以登录 当 user1 注销时 我正在使用下面的代码 public static void closeEntityManagerFactory if enti
  • 在测试期间调用预定方法[重复]

    这个问题在这里已经有答案了 我正在使用 Maven 开发 SpringBoot 应用程序 我有一个班级 Component有方法的注释m与 Scheduled initialDelay 1000 fixedDelay 5000 注解 这里f

随机推荐

  • Vue页面向嵌套的iframe中的html页面传值

    问题 主页面为 vue 页面中嵌套了iframe 目的是使用视频通话插件 需要向html页面传值 只需两个步骤即可
  • 网页数据解析与提取----XPath

    目录 网页数据解析与提取 XPath XPath 使用 1 什么是XPath 2 准备工作 3 所有节点 4 子节点 5 父节点 6 属性匹配 7 文本获取 8 属性获取 9 属性多值匹配 10 多属性匹配 11 按序选择 12 节点轴选择
  • nuxt服务端渲染技术

    第5章 网站前台 活动与招聘 学习目标 掌握NUXT框架的基本使用方法 完成十次方网站前台的搭建 完成十次方网站前台活动模块的功能 完成十次方网站前台招聘模块的功能 1 服务端渲染技术NUXT 1 1 什么是服务端渲染 服务端渲染又称SSR
  • 我的油画作品

    原创油画作品 樱花 规格 30x40cm 原创油画作品 山峰 规格 30x40cm 原创油画作品 In the garden 规格 80x60cm 其它作品
  • python 图像识别男女_用机器学习来做人脸性别识别

    在传统编程中 图像识别一直是一个难点 虽然人能轻松做到 但是用逻辑来描述这个过程 并转换成程序是很难的 机器学习的出现让图像识别技术有了突破性的进展 卷积神经网络的出现 又使图像识别更上了一次层次 卷积神经网络由一个或多个卷积层和顶端的全连
  • 为了预测股票,我用TensorFlow深度学习了股市数据

    完整源码可在微信公众号 01二进制 后台回复 股市分析 获取 阅读此文前建议先阅读 找对象的过程中 我竟然理解了什么是机器学习 前言 相信大家这几天或多或少的都开始关注到股市了 虽然我还不是很懂里面的一些套路 但是从最近各个公众号的推送里面
  • 无盘服务器chkdsk *: /f)修复命令,巧用CHKDSK命令修复U盘文件或目录损坏问题

    巧用CHKDSK命令修复U盘文件或目录损坏问题 U盘是我们常用的随身移动存储工具 我们平时在使用U盘时难免会出现那么几次 直接拔出U盘 结果导致 U盘的文件或目录损坏且无法读取 U盘里的任何内容都无法打开了 有些朋友认为是磁盘出现坏道直接舍
  • 详解C语言中的stdin,stdout,stderr

    我们在写C程序时经常遇到printf fprintf perror 这些东西到底有什么作用 说到这不得不提及stdin stdout stderr 想想 我们在用C去写文件时的操作 File fp fopen 这个fp就是我们向系统申请的
  • android浏览网页,Android学习之通过Intent实现浏览网页

    大家好 在这里和大家分享我刚刚学到的知识 通过Intent打开网页 首先 打开布局文件中main xml 创建为LinearLayout布局 并且创建一个EditText和Button控件 具体代码如下 android orientatio
  • Jmockit 静态方法mock

    类中存在刷新 初始化等静态方法时 编写单元测试案例 示例 被测试类 public class MethodClass public static void refresh init
  • 智能合约编写之Solidity的设计模式

    前 言 随着区块链技术发展 越来越多的企业与个人开始将区块链与自身业务相结合 区块链所具有的独特优势 例如 数据公开透明 不可篡改 可以为业务带来便利 但与此同时 也存在一些隐患 数据的公开透明 意味着任何人都可以读取 不可篡改 意味着信息
  • 【新手向】如何在npm上发布属于自己的包

    课程内容来自黑马程序员的网课 供博主自己检索知识和复习用 当然如果能帮助到你就更好了 作为一个程序员 你一定下载过各式各样的包来自己的项目实现更多功能 但是如何自己发布包呢 建立属于自己的包 第一步 你需要建立一个包 建立包很简单 只要满足
  • 数据科学与大数据分析之项目2-聚类

    聚类 项目介绍 项目开始 项目介绍 文件TreeDB csv包含258个树种的描述 数据由XX市议会开放空间和环境服务部管理处提供 已提供数据集作为公共空间最佳树木选择合作项目的一部分 假设你是该项目团队的一员 进一步假设你决定参与聚类分析
  • java image 透明_Java 生成半透明照片

    在许多实际运用中 我们常常需要将一张照片 图片 装换成半透明后再显示或保存 下面我们就来看看如何使用Java来生成 转换一张照片到半透明 1 基本思路 1 打开一张图片 BufferedImage imageOpen ImageIO rea
  • php密码输入密码,php打开页面输入密码的代码

    直接复制以下代码到模板 文件或者PHP文件 当打开页面时就得输入密码 写模板内容页时候也可以试用 把密码部分当做变量对应后台写入即可 更多功能自己想象
  • ubuntu下 jupyter登录上了 新建python3连接失败

    近期在使用anaconda jupyter的时候发现自己在新建jupyter文件的时候一直报连接错误 所以为了解决此问题做了如下两种方法 第一步 pip uninstall tornado pip install tornado 5 1 1
  • (四)Vue和React的编码方式对比----样式处理及样式污染

    经过3篇文章后我们可以编写一些简单的HTML结构并渲染只页面 可是前端重要的是什么 是样式 前端是给用户看的 所以样式处理也是很重要的一件事 如果一个前端静态效果都写不好 那多丢人 所以本篇介绍一下React和Vue的样式处理方式 以及一个
  • JS —— js中的节流与防抖

    文章目录 前言 一 节流 1 什么是节流 2 做节流可解决什么问题 3 如何做节流 二 防抖 1 什么是防抖 2 做防抖可解决什么问题 3 如何做防抖 总结 前言 最近有同学问到节流与防抖的相关知识点 于是乎 四处查资料 找一找 看一看 终
  • vuepress项目部署出现样式丢失,图片加载失败的问题

    之前在尝试部署vuepress项目时 出现了样式丢失 图片加载失败的问题 具体情况请继续往下看 本地测试 完全正常 在本地测试时的样式都是正常显示的 GitHub部署 样式丢失 打包部署到GitHub上时 布局和样式就完全乱了 同时还有一堆
  • 10、docker 安装 tomcat

    一 docker 环境下安装中间件总体步骤 搜索镜像 拉取镜像 查看镜像 启动镜像 服务端口映射 但其实 docker run 的时候 就会帮我们去配置的 registry 拉取镜像了 也就是 搜索镜像 这一步 其实是可有可无的 二 安装