Docker Tomcat 搭建文件服务器

本文基于openwrt上进行。

步骤 1: 安装 Docker

如果尚未安装Docker,首先需要安装Docker。根据你的操作系统,参考Docker官方文档来完成安装, 这里不做详细介绍。

步骤 2: 拉去docker Tomcat镜像

进入openwrt管理界面,docker选项中 拉取最新的tomcat镜像。

步骤 3: 配置并运行Tomcat

在容器选项中,新建容器,填写容器名称,选择交互,Docker镜像配置为:tomcat:latest, 网络配置为host

其他内容保持默认即可。最后点击提交会自动创建并且运行。

步骤 4: 配置Tomcat

接着回到容器选项,可以看到刚刚创建的data_docker已经在运行了,然后可以在控制台中配置bash,进入到tomcat 容器中。

把webapps.dist里面的所有内容拷贝到webapps目录下:

接着重启该容器,在服务器中输入ip:8080 就可以看到tomcat界面了。

如果运行着多个docker tomcat 可能会无法启动,需要到/conf/server.xml中修改成不同的端口号即可

首先从docker中复制server.xml文件到本地电脑:

docker cp 4ae57e8a6260:/usr/local/tomcat/conf/server.xml /root

修改端口号

vim server.xml

接着可通过iptable防火墙开放端口11118和8015了。

最后再把server文件复制到docker容器中。

docker cp /root/conf/server.xml 4ae57e8a6260:/usr/local/tomcat/conf

重启docker tomcat,浏览器输入新的id:端口即可显示tomcat页面。

步骤 5: 文件存储和显示

前面完成tomcat的搭建和端口配置了。

在/conf/server.xml中添加末端添加如下内容:

<Context docBase ="/opt/images" path ="/img" reloadable ="true" />

说明:/opt/images是存储图片和文件的具体路径;/img是浏览器的url部分。

修改文件夹权限

chmod -R 777 /opt/images

还需再修改/conf/web.xml中开放预览

最后把相关文件,图片,上传到/opt/images目录下即可。

如:把111.png文件上传到该目录下。

步骤 6: 访问 Tomcat 文件服务器

打开你的浏览器,访问 http://localhost:11118/img/111.png 来访问Tomcat服务器上托管的图片。

以上是一个基本的流程,用于在Docker容器中搭建Tomcat文件服务器。

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

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

相关文章

配置OpenCV

Open CV中包含很多图像处理的算法&#xff0c;因此学会正确使用Open CV也是人脸识别研究的一项重要工作。在 VS2017中应用Open CV&#xff0c;需要进行手动配置&#xff0c;下面给出在VS2017中配置Open CV的详细步骤。 1.下载并安装OpenCV3.4.1与VS2017的软件。 2.配置Open CV环…

Pytorch网络模型训练

现有网络模型的使用与修改 vgg16_false torchvision.models.vgg16(pretrainedFalse) # 加载一个未预训练的模型 vgg16_true torchvision.models.vgg16(pretrainedTrue) # 把数据分为了1000个类别print(vgg16_true) 以下是vgg16预训练模型的输出 VGG((features): S…

QT5.15.2搭建Android编译环境及使用模拟器调试(全)

一、安装QT5.15.2 地址&#xff1a;下载 我电脑的windows的&#xff0c;所以选windows 由于官方安装过程非常非常慢&#xff0c;一定要跟着步骤来安装&#xff0c;不然慢到怀疑人生 1&#xff09;打开"命令提示符"&#xff08;开始 -> Windows 系统 -> 命令…

微信小程序UI自动化测试实践:Minium+PageObject

小程序架构上分为渲染层和逻辑层&#xff0c;尽管各平台的运行环境十分相似&#xff0c;但是还是有些许的区别&#xff08;如下图&#xff09;&#xff0c;比如说JavaScript 语法和 API 支持不一致&#xff0c;WXSS 渲染表现也有不同&#xff0c;所以不论是手工测试&#xff0c…

AI:50-基于深度学习的柑橘类水果分类

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌本专栏包含以下学习方向: 机器学习、深度学…

【C语法学习】16 - fclose()函数

文章目录 1 函数原型2 参数3 返回值4 示例 1 函数原型 fclose()&#xff1a;关闭已打开的文件&#xff0c;并刷新缓冲区&#xff0c;函数原型如下&#xff1a; int fclose(FILE *stream);2 参数 fclose()函数只有一个参数stream&#xff1a; 参数stream是一个指向FILE类型结…

【精】UML及软件管理工具汇总

目录 1 老七工具&#xff08;规划质量&#xff09; 1.1 因果图&#xff08;鱼骨图、石川图&#xff09; 1.2 控制图 1.3 流程图:也称过程图 1.4 核查表:又称计数表 1.5 直方图 1.6 帕累托图 1.7 散点图&#xf…

【51单片机】LED与独立按键(学习笔记)

一、点亮一个LED 1、LED介绍 LED&#xff1a;发光二极管 补&#xff1a;电阻读数 102 > 10 00 1k 473 > 47 000 2、Keil的使用 1、新建工程&#xff1a;Project > New Project Ctrl Shift N &#xff1a;新建文件夹 2、选型号&#xff1a;Atmel-AT89C52 3、xxx…

349.两个数组的交集+350.两个数组的交集II(set/multiset)

目录 一、349.两个数组的交集 二、350.两个数组的交集II 一、349.两个数组的交集 349. 两个数组的交集 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {//…

3D模型格式转换工具HOOPS Exchange对工业级3D产品HOOPS的支持与应用

一、概述 HOOPS Exchange是一套高性能模型转换软件库&#xff0c;可以给软件提供强大的模型的导入和导出功能&#xff0c;我们可以将其单独作为转换工具使用&#xff0c;也可以将其集成到自己的软件中。 同样&#xff0c;HOOPS 的其它产品&#xff0c;也离不开HOOPS Exchange…

[LeetCode]-876.链表的中间结点-206.反转链表-21.合并两个有序链表-203.移除链表元素

目录 876.链表的中间结点 题目 思路 代码 206.反转链表 题目 思路 代码 21.合并两个有序链表 题目 思路 代码 203.移除链表元素 题目 思路 代码 876.链表的中间结点 876. 链表的中间结点 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/mi…

Sentinel热点参数限流动

什么是热点 限流是统计访问某个资源的所有请求&#xff0c;判断是否超过QPS阈值。而热点参数限流是分别统计参数值相同的请求&#xff0c;判断是否超过QPS阈值。 何为热点&#xff1f;热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据&am…