首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在docker图像中创建的.war文件在浏览器中不起作用?(Java-Servlets、Tomcat、Docker)

在Docker容器中创建的.war文件在浏览器中不起作用的原因可能有多个方面:

  1. 缺少Web服务器:Docker容器中默认是没有安装Web服务器的,而.war文件通常需要在Web服务器中才能正常运行。在Java Servlets应用中,常用的Web服务器是Apache Tomcat。所以需要在Docker容器中安装和配置Tomcat服务器,以确保.war文件能够正常运行。可以使用以下命令在Docker容器中安装Tomcat:
代码语言:txt
复制
$ apt-get update
$ apt-get install -y tomcat8
  1. 配置问题:即使安装了Tomcat服务器,也需要正确配置服务器以部署和运行.war文件。主要的配置文件是server.xmlweb.xml。在server.xml文件中,需要确保Tomcat监听正确的端口并且部署路径正确。在web.xml文件中,需要配置正确的Servlet和URL映射。另外,还需要检查是否有其他配置问题,例如文件权限等。
  2. 缺少Java运行时环境:Java应用程序需要在Java运行时环境(JRE)或Java开发工具包(JDK)中才能运行。在Docker容器中,确保安装了Java并正确配置了环境变量。
  3. Docker容器网络设置:Docker容器默认使用网络隔离,可能导致容器内的服务无法通过网络访问。确保Docker容器的网络设置正确,例如使用端口映射将容器内的Tomcat端口映射到主机的某个端口上。

综上所述,要解决在浏览器中无法运行.war文件的问题,需要安装和配置Tomcat服务器、正确配置服务器和应用程序的相关文件、安装Java运行时环境,并确保Docker容器的网络设置正确。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么 strace Docker 不起作用

在编辑“容器如何工作”爱好者杂志能力页面时,我想试着解释一下为什么 strace Docker 容器无法工作。...这里问题是 —— 如果我笔记本上 Docker 容器运行 strace,就会出现这种情况: $ docker run -it ubuntu:18.04 /bin/bash $ # ... install...所以,绝对没有理由不能够对它创建进程进行 strace!...而 ptrace 在被 Docker 默认 seccomp 配置文件阻止系统调用列表!(实际上,允许系统调用列表是一个白名单,所以只是ptrace 不在默认白名单。...但得出结果是一样。) 这很容易解释为什么 strace Docker 容器不能工作 —— 如果 ptrace 系统调用完全被屏蔽了,那么你当然不能调用它,strace 就会失败。

6.4K30

Windows里golang交叉编译Linux文件dockercentos运行

此时编译出来可执行文件带exe扩展名。对于Linux系统是没所谓。 ?...> #启动新容器,并且进行端口映射 docker run -itd -p 50001:22  /bin/bash 进入容器后再运行ssh 好了,这样我们windows下利用ssh...4.centos执行文件 把应用上传到centos系统root文件夹下 再回到SecureCRT ? 输入ls -l列出当前目录下文件。...其中ls是list,也就是列出意思,-l参数是long意思,也就是列出文件详细信息,每行第一个字符带x就是有可执行权限文件,多半就是可执行程序。 使用./filename来执行, 如果输入....must have one register DataBase alias named `default` 无法执行是因为应用引用了基于cgosqlite3,而cgo不能跨平台,最好是Linux系统搭建环境进行编译

2.6K10
  • 【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

    远程登录 MySQL 容器创建完成之后,就可以本地进行 MySQL 连接了;如下图本地 Navicat 中新建一个连接: 要知道我们并不是直接去连接容器 MySQL,而是通过宿主机进行连接。...此时所连接正是我们刚刚所创建容器 MySQL; Docker 下 MySQL 部署完成! 二、Tomcat 部署 1....创建容器 docker run -di --name=mynginx -p 80:80 nginx 创建成功我们本地浏览器访问宿主机 IP,可以看到 nginx 欢迎界面; 3....部署应用 我们这里将一个静态页面部署到 nginx ,如下我本地创建了一个 html 文件夹 和 index.html 文件; 将它上传至我们宿主机; 进入 nginx 容器; docker...exec -it mynginx /bin/bash 找到配置文件 default.conf,可以看到 nginx 页面文件是保存于 /usr/share/nginx/html/ ; 所以我们将需要部署页面文件移动到此目录

    90720

    docker入门使用

    拉取镜像 docker pull mysql:5.6 //拉取mysql5.6最新一个版本 docker pull mysql //拉取mysql最新版本 ---- 安装/创建并运行 docker...run -d -p 3335:8080 --name tom01 tomcat:8 3335是外部—也就是浏览器访问端口 8080是内部—程序里面写死内部端口 tom01是:为该服务起一个名字 tomcat...:8是:运行本地镜像tomcat程序8版本,可写ID 第4部,如果本地没有,会直接拉取 进入 docker exec -it tom01 /bin/bash //进入运行叫tom01里面 tom01.../myweb.war 8175bbc72d70:/usr/local/tomcat/webapps myweb.war是你上传程序名字 8175bbc72d70是运行ID /usr/local/...tomcat/webapps是要将myweb.war上传到位置(会自动解压) 其他命令 文件方面: mkdir //创建文件夹 镜像方面: docker images //列出主机上已经拉取

    13730

    实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署

    最初tomcat上部署web应用方式,是通过mavenmaven-compiler-plugin插件先打成war包,再将war包复制到tomcatwebapps目录下,后来用上了tomcat7-...maven-plugin插件,可以直接在maven上编译,打包,部署一次性完成,这个方法关键是tomcat创建一个用户账号,然后maven插件用此账号和密码来执行在线部署。...本次实践,我们要动手制作一个镜像,这个镜像run起来后是个tomcat server,这个server支持maven插件在线部署war应用。...创建一个空文件夹,例如image_tomcat; 2....ok,tomcat7-maven-plugin插件已经帮我们把war部署到docker容器上去了,浏览器输入 http://localhost:8080/loadbalancedemo/hello?

    2.9K50

    Jenkins与Docker自动化CICD实战

    互联网时代,对于每一家公司,软件开发和发布重要性不言而喻,目前已经形成一套标准流程,最重要组成部分就是持续集成(CI)及持续部署、交付(CD)。...操作系统:CentOS7.4 二、部署Git仓库 # yum install git -y 创建Git用户并设置密码 创建仓库 访问创建这个仓库 192.168.0.217...配置SSH插件 第一步:先创建一个用于连接Docker主机凭据。...Jenkins本机镜像构建与推送到镜像仓库,并SSH远程连接到Docker主机使用推送镜像创建容器: 上图中,Jenkins主机执行Shell命令如下: REPOSITORY=192.168.0.219...若你容器运维,遇到容器方面的问题,可以给我微信↓。同样,若发现有任何纰漏,还请随时指正,相互学习,共同进步!

    64421

    Docker搭建disconf环境,三部曲之三:细说搭建过程

    启动 定制mysql镜像 mysql定制:目的是让容器创建时自动执行sql脚本,创建库和表,并导入初始化数据,docker上实现数据库脚本自动执行方法可以参照《让dockermysql启动时自动执行...创建两个文件夹,分别设置到ONLINE_CONFIG_PATH和WAR_ROOT_PATH这两个环境变量,环境变量设置方式不同操作系统下各不相同,我用是mac,配置方式是~/.bash_profile...这三个文件: jdbc-mysql.properties改动如下图,主要是数据url改成一个固定名字mysqlhost,这个docker run时候要和link参数别名一致,还有就是数据库用户名密码...环境变量WAR_ROOT_PATH对应目录下,有个html文件夹如下图红框位置,这是web工程全部静态文件,把这个文件夹复制到刚才新建nginx目录下: ?...启动完毕后,浏览器上输入localhost,可以看见熟悉disconf登录页面,用户名admin,密码admin,登录进去试试吧: ?

    1K70

    springboot使用war形式进行应用发布部署

    我们看到我们tomcat服务器还是在运行,这次我们将自己war包进行在tomcat进行部署了。关于文件如何上传到自己服务器,推荐winScp工具进行上传,关于如何使用工具请自行搜索。...docker cp hello-war.war 自己tomcat容器id:/usr/local/tomcat/webapps 好了,我们为了正确性,看下我们war是否已经拷贝到对应目录了吧,再次进入容器里面进行查找了...我们看到我们hello-war包已经启动了,下面我们开始我们浏览器进行项目的访问了。...这里提示一下,tomcat端口号默认是8080,但是自己将主机端口10000映射为容器8080端口上,所以我们浏览器上访问是10000端口,不过你们也可以根据自己喜欢进行设定,需要了解如何设置可以看下我之前发过文章...我们看到上面的图片就是我们示例程序定义信息,说明我们成功了,好了,本次需要分享文章就到这里结束了

    75620

    Dockerweb开发和Tomcat部署

    可以看到tomcat启动日志全部打印终端了, 因为我们用-p 8888:8080将容器8080端口映射到当前电脑8888端口,所以打开当前电脑浏览器,输入:localhost:8888,可以看到熟悉大猫...: 接下来我们开发一个最简单spring mvc应用,然后部署到dockertomcat容器中试试,这我用是IntelliJ IDEA CE,创建maven工程: GAV信息如下: 如下图所示...,工程上点击右键查看module属性,如下图: 此时看到信息如下图所示: 注意在上图绿色框框位置,如果你工程没有看到绿色框框内容,就用鼠标右键点击红色框框位置,弹出菜单中点击"Sources...,如下图: 命令执行后,可以target目录下看到war包: 现在我们把文件部署到tomcat上去,先建一个目录,例如我建了这个目录:/Users/bolingcavalry/temp/201703...此时,我们今天测试tomcat部署目的已经达到了,接下来再试试提交镜像,容器输入exit 退出容器,再执行"docker stop helloworldwebapp"停止容器,然后执行以下命令把容器作为镜像保存在本地

    60450

    Docker下dubbo开发,三部曲之一:极速体验

    restart: always 然后用命令行在docker-compose.yml所在目录下执行命令docker-compose up -d,启动yml文件定义四个容器,如下图: ?...把web应用部署到docker容器16_dubbo_consumer_1(执行docker-compose up -d命令时创建容器); 先确定zookeeperip,前面执行docker-compose...”则是PlatformService服务提供(“dubbo_provider_tomcat“是dubbo_provider容器环境变量,docker-compose.yml设置),都是dubbo_consumer...容器应用远程调用服务结果; 留下疑问 以上就是dubbo服务体验过程,看完本文,您是否会有这样疑惑:dubbo_provider部署很简单,把war包和tomcat做成一个镜像就能通过docker-compose...直接创建容器了,但dubbo_consumer为何要如此麻烦,自己下载源码、改参数、编译、部署,为什么不能像dubbo_provider那样直接做成镜像,那样的话体验起来不是更简单快捷么?

    1K70

    Docker--创建tomcat+JDK镜像并发布web项目实例

    "] 2:使用Dockerfile构建镜像 准备工作: 新建一个文件docker_file(最好将dockerfile放在一个新文件,具体原因请看 文首url指向博文) 。...将创建Dockerfile文件放在该文件,Dockerfile文件名最好是“Dockerfile”,这样会默认查找到该文件,不用再进行指定文件。...docker_file文件夹中放入你web项目的war包。 最后该文件夹内容应该是如下图所示: ?...4:测试容器 容器启动后有时候容器tomcat还没有启动完毕,我们可以通过查看该容器log来判断tomcat是否启动成功 docker logs 容器ID或者容器name 当我们确认tomcat...启动成功后,本地测试是否可以访问项目 ####本机浏览器输入: ip:8080/xcar-index-web ####例如: 10.52.10.227:8080/xcar-index-web

    1.1K30

    Docker学习笔记之二:web开发和Tomcat部署

    hub.docker.com上搜索tomcat,搜索结果第一个就是官方镜像,如下图: ?...可以看到tomcat启动日志全部打印终端了, ?...接下来我们开发一个最简单spring mvc应用,然后部署到dockertomcat容器中试试,这我用是IntelliJ IDEA CE,创建maven工程: ? GAV信息如下: ?...注意在上图绿色框框位置,如果你工程没有看到绿色框框内容,就用鼠标右键点击红色框框位置,弹出菜单中点击”Sources”,这样就把java目录加入到工程编译目录中去了。...此时,我们今天测试tomcat部署目的已经达到了,接下来再试试提交镜像,容器输入exit 退出容器,再执行”docker stop helloworldwebapp”停止容器,然后执行以下命令把容器作为镜像保存在本地

    1.1K110

    珂兰寺小课堂|Tomcat系列漏洞复现

    04 修复方法 系统上以低权限运行Tomcat应用程序,创建一个专门tomcat服务用户,该用户只能拥有一组最小权限; 增加对于本地和基于证书身份验证,部署账户锁定机制(对于集中式认证,目录服务也要做相应配置...之后,JSP文件代码将能被服务器执行。...1.1; /文件是非法,也会被去除(Linux/Windows) PUT /x.jsp/ HTTP/1.1; 大家自行进行测试 0x04 上传jsp文件获取shell 这里使用我们直接在上传文件后缀名后加...dockerROOT目录下新建文件用来测试是否可以成功读取,首先使用命令docker exec -it bin/bash进入到容器内,如下图所示: 4....04 修复建议 禁用AJP协议,/conf/server.xml编辑; 将Tomcat升级到更高版本 END

    1.9K10

    CICD构建实验「建议收藏」

    IP地址 systemctl restart docker \\重启docker 7)进入解压好harbor文件,编写vim harbor.yml,将hostname改为自己地址 8)...需要新开一台服务器:192.168.53.30 安装 1)准备材料:jenkings主机上需要安装dockertomcat、java文件等,其中,docker是为了进行部署,tomcat、jdk则是为了进行...安装包拉进/usr/local目录,进入tomcatbin目录下,输入..../startup.sh启动tomcat 5)为了不影响使用,需要将tomcatwebapps里目录删除,只留ROOT 6)将.war包放入到ROOT下 7)将.war包用unzip解压 上述为源代码安装...ssh-copy-id gitme@192.168.53.20 10)根据内容提示cat /root/.jenkins/secrets/initialAdminPassword,来将密码复制粘贴并且放置浏览器

    80430

    框架 | SpringBoot项目发布到自动化容器Docker步骤

    那么如何将SpringBoot项目进行发布部署,这和我们之前普通web项目不太一样,之前项目直接部署到tomcatwebapps,然后启动tomcat即可访问。...但是SpringBoot项目内嵌tomcat,这如何发布部署访问呢? 目前比较常用方式有三种:发布JAR包、发布WAR包、部署到自动化容器,以下具体讲解发布部署过程。...、Maven、Linux、Tomcat7 方式一:JAR包--推荐 点击这里《框架 | SpringBoot项目创建和发布部署步骤》 方式二:WAR包--看着办 点击这里《框架 | SpringBoot...docker: ①:首先保证本地是可以访问没问题 ②:创建一个source folder--src/main/docker ③:创建文件Dockerfile ④:导出jar包 ⑤:centos/...创建SB项目: ①:修改pom.xml,增加docker插件 略 将SB项目部署到docker: ①:首先保证本地是可以访问没问题 ②:创建一个source folder--src/main/

    2.2K30
    领券