4、在docker容器内的tomcat 中发布项目

1、查看本地是否有tomcat镜像,如果不存在则去下载

docker images

2、查看本地是否有tomcat容器,如存在跳过第3步

docker ps

3、创建tomcat容器

        此容器用于复制tomcat的配置文件,配置文件复制后需删除此容器,如果已经存在跳过此步骤

删除容器:docker rm ID

docker run -it -d --name mytomcat tomcat

4、本地创建tomcat目录

        本地创建的tomcat目录是用于挂载到tomcat容器,方便配置管理和项目发布

1)在/usr/local目录下创建tomcat目录

mkdir /usr/local/tomcat

2)进入tomcat目录

cd /usr/local/tomcat

3)创建webapps目录

此目录用于发布web项目

mkdir webapps

4)创建conf目录

此目录用于保存tomcat的配置文件,修改服务配置不需要进入容器

mkdir conf

5)创建logs目录

此目录用于保存tomcat运行时的日志信息

mkdir logs

6)创建uploads目录

此目录用于管理上传的文件

mkdir uploads

7)查看创建的目录

ls

5、从容器中复制conf中的文件到本地的conf中

语法:docker cp ID: 容器中的路径 本地路径

docker cp mytomcat:/usr/local/tomcat/conf /usr/local/tomcat

6、删除mytomcat容器

删除之前需要先停止tomcat服务

docker stop mytomcat
docker rm mytomcat

7、创建tomcat容器并挂载目录

docker run -itd --name 实例名 -p 本地端口:容器端口 -v 挂载目录

docker run -itd --name mytomcat -p 8080:8080 -v /usr/local/tomcat/conf:/usr/local/tomcat/conf -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps -v /usr/local/tomcat/logs:/usr/local/tomcat/logs  -v /home/uploads:/home/uploads tomcat

-v :(volume)用于挂载目录到容器中,语法为“本地文件:容器文件”,对于配置文件,日志,数据等不可销毁的文件都应当使用-v挂载到主机中

8、创建index.html页面

9、发布项目

使用工具把项目复制到本机的webapps目录中

10、进入tomcat容器

docker -it mytomcat /bin/bash

11、启动tomcat服务器

./bin/startup.sh

12、测试

浏览器中输入地址

 文章来源于哔站《4、在docker容器内的tomcat 中发布项目》

更多学习视频和专栏文章请到哔站个人空间: 布道师学院的个人空间-布道师学院个人主页-哔哩哔哩视频

更多资源和项目下载请到:”开源吧(找实战项目和毕设项目的好网站)“ ​ :开源吧

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/108119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何把视频压缩变小?

如何把视频压缩变小?大家都知道,视频一般都伴随着很大的文件体积,:尤其是现在的视频大多是高清晰度的,因此视频文件的体积就更加的大,视频体积太大会给我们带来很多的不便,主要是以下这几点&…

【数据结构C/C++】十大排序算法的实现思路以及易写易记忆版代码实现

文章目录 冒泡排序选择排序插入排序归并排序数组版本链表版本归并排序-内部缓存法 快速排序(重点讲解)堆排序(重点理解)计数排序基数排序桶排序希尔排序总结408考研各数据结构C/C代码(Continually updating&#xff09…

confluence版本升级

由于confluence的漏洞CVE-2023-22515的出现,现在需要升级版本 查看漏洞已修复版本: 需要升级到8.5.2 下载软件包: https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-8.5.2-x64.bin 完成后上传…

c# 同步异步锁

在 C# 中,synchronization(同步)和asynchronization(异步)锁都是用来保护共享资源的。在单线程环境中,这些锁不是必要的,但在多线程环境中,由于多个线程可以访问和修改同一资源&…

哪家好用?四款国内外远程桌面软件横测:ToDesk、向日葵、TeamViewer、AnyDesk

目录 前言 一、软件介绍 ​编辑1.ToDesk 2.向日葵 3.TeamViewer 4.AnyDesk 二、实测表现 【文件传输】 【聊天会话】 【独特功能】 ToDesk隐私屏和扩展屏 向日葵白板 eamViewer控制面板 AnyDesk“已发现”周边连接 【收费机制】 【安装下载】 三、总结 前言 …

oracle数据库flashback系列--闪回数据库在dataguard中的使用

很多人在学习flashback database这个oracle技术的时候,都会有一个疑问,就是如果我只有一个数据库作为生产库的话,是否有这样的业务需求导致我们要把数据库闪回到以前的时间点?以及这样做是否值得(当前时间点和闪回目的时间点中间的所有操作将丢失&#x…

Linux命令之chpasswd命令

一、chpasswd命令简介 chpasswd命令用于同时更改多个用户的密码。它可以从标准输入或指定的文件中读取用户名和密码的组合,并将其应用于系统中的用户。chpasswd命令通常用于批量更改用户密码,特别是在自动化脚本或批处理任务中,该命令需要roo…

uniapp简单实现搜索--历史记录功能

点击搜索时候&#xff0c;将搜索的值存入本地记录并展示&#xff0c;并且有清空历史记录功能。 代码直接贴上&#xff1a; <template><view><!-- 搜索框 --><view class"search"><view style"display: flex;align-items: center;&q…

【23真题】两电一邮之一,难度骤降!24可能回升!

今天分享的是23年电子科技大学858的信号与系统试题及解析。23成电858真题和22年相比&#xff0c;难度骤降&#xff01;今年我预测可能会有反弹。22年成电858真题&#xff0c;是我做过的22真题中数一数二的难度&#xff01;23年一般&#xff0c;但是题目也很好&#xff0c;真的很…

Excel——对其他工作表和工作簿的引用

一、引用其他sheet页表区域 若希望在公式中引用其他工作表的单元格区域&#xff0c;可以在公式编辑状态下&#xff0c;通过鼠标单击相应的工作表标签&#xff0c;然后选择相应的单元格区域。 例1 跨sheet页引用其他工作表区域 如图1所示的工作表Sheet2为工资表。 在Sheet1表…

三、K8S之ReplicaSet

ReplicaSet 一、概述 Kubernetes最核心的功能是编排&#xff0c;编排操作都是依靠控制器对象来完成&#xff0c;高级控制器控制着基础的控制器&#xff0c;基础控制器再去控制Pod&#xff0c;Pod里面再包容器。K8S项目里API对象层级大概就是这样。 而ReplicaSet这个控制器是…

AJAX为什么叫AJAX

AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;这个名字是由美国程序员Jesse James Garrett在2005年提出的&#xff0c;用来描述一种用于创建交互式Web应用程序的技术组合。它之所以被称为"AJAX"&#xff0c;有以下原因&#xff1a; Asynchronous&…

Flink之窗口聚合算子

1.窗口聚合算子 在Flink中窗口聚合算子主要分类两类 滚动聚合算子(增量聚合)全窗口聚合算子(全量聚合) 1.1 滚动聚合算子 滚动聚合算子一次只处理一条数据,通过算子中的累加器对聚合结果进行更新,当窗口触发时再从累加器中取结果数据,一般使用算子如下: aggregatemaxmaxBy…

Spark---数据计算

flatmap算子&#xff1a; # flatmap算子: 对rdd执行map操作,然后进行解除嵌套操作from pyspark import SparkConf, SparkContextconf SparkConf().setMaster("local[*]").setAppName("test_spark") sc SparkContext(confconf)# 准备一个RDD rdd sc.par…

function+bind实现多态(松耦合)

基类定义虚函数&#xff0c;子类实现虚函数&#xff0c;使用基类指针指向子类对象&#xff0c;从而实现多态&#xff0c;functionbind可以使没有任何关系的各种类对象及其行为以一种相同的行为表现出来&#xff0c;类似多态&#xff0c;高于多态&#xff0c;这里没有继承、没有…

前端数据可视化之【Echarts介绍】

目录 &#x1f31f;前言&#x1f31f;丰富的可视化类型&#x1f31f;多种数据格式无需转换直接使用&#x1f31f;移动端优化&#x1f31f;多渲染方案&#xff0c;跨平台使用&#xff01;&#x1f31f;写在最后 &#x1f31f;前言 ECharts开源来自百度商业前端数据可视化团队&a…

力扣每日一题43:字符串相乘

题目描述&#xff1a; 给定两个以字符串形式表示的非负整数 num1 和 num2&#xff0c;返回 num1 和 num2 的乘积&#xff0c;它们的乘积也表示为字符串形式。 注意&#xff1a;不能使用任何内置的 BigInteger 库或直接将输入转换为整数。 示例 1: 输入: num1 "2"…

Python数据分析教程(非常详细)从零基础入门到精通,看完这一篇就够了

1、为什么选择Python进行数据分析? Python是一门动态的、面向对象的脚本语言&#xff0c;同时也是一门简约&#xff0c;通俗易懂的编程语言。Python入门简单&#xff0c;代码可读性强&#xff0c;一段好的Python代码&#xff0c;阅读起来像是在读一篇外语文章。Python这种特性…

ROS键盘遥控机器人,通过参数服务器指定速度

1、引言 在上节的驱动机器人&#xff0c;我们知道是cmd_vel话题发布一串Twist类型消息来控制&#xff0c;我们可以输入如下命令查看这个Twist的详细信息&#xff1a;rosmsg show geometry_msgs/Twist geometry_msgs/Vector3 linear float64 x float64 y float64 z geome…

macos 中ios系统升级,但是macos还是老系统,在手机上无法安装ios软件

https://github.com/filsv/iOSDeviceSupport 构建项目出现 解决的方法&#xff1a; 就可以了&#xff0c;