Tag: Tomcat

Docker:在运行Oracle和脚本之后启动Tomcat

我对Docker真的很陌生,并且很享受,但是,我发现运行我的应用程序时遇到了一些问题。 我想运行由2个服务组成的应用程序: 我想启动Oracle并运行一些DDL和DATA脚本,这些脚本需要30秒以上 我想在第一步完成后启动Tomcat并启动我的war文件,因为如果没有它,启动将不会启动。 我已经读了: docker-wait ,这不是我正在等待,因为我应该执行一些脚本后,我的数据库将在指定的端口上可用。 据我所知,启动multiservises应用程序的正确方法是使用docker compose 。 这里是我现在docker-compose.yml : version: '2' services: web: build: Server ports: – "8080:8080" depends_on: – oracle oracle: build: Oracle ports: – "1521:1521" depends_on只是让我来订购应用程序的开始,没有更多。 对于Tomcat和Oracle,我使用的是Docker Hub中最受欢迎的图片。 Oracle启动并执行脚本后,如何才能正确启动Tomcat?

Java Spring Hibernate应用程序在本地运行,但不在aws的ecs docker中运行

亲爱的Java和Docker大师们, 你有遇到拔出头发的问题吗? 尝试这个: 我有一个Java的Spring Hibernate的Web应用程序,可以在我的本地通过Gradle构build成功运行。 IT使用Oracle JDK 1.8.0_101进行编译。 它在Tomcat 7.0.72下运行(而Tomcat在JDK 1.8.0_102上运行Open)。 它完美地运行着这场战争。 为什么我有这样不同的jdk版本? 因为我想模仿下面的开发服务器。 我的Dev服务器是aws ecs下的docker,只有一个容器映像。 而这个容器的图片使用了tomcat:7.0.72-jre8的图片库。 在容器中运行相同的应用程序将引发以下错误: 创build名称为“agencyRepository”的bean时出错:init方法的调用失败; 嵌套exception是java.lang.IllegalArgumentException:不是托pipetypes:class com.mnetmobile.data.entities.Agency 我拖动那个战争文件,并运行在我的本地,它像一个冠军。 所有的JDK版本都是一样的,tomcat版本是一样的。 唯一不同的是,一个Windows 7笔记本电脑,与Ubuntu的Linux和运行docker。 (所有不同的path都是N / A,因为都有相对path) 任何想法,我可能错过了哪个洞?

使用Dockerfile安装MongoDB和Tomcat

我正在使用Dockerfile来安装python , mongodb和tomcaton Centos6的软件包。 FROM centos:centos6 RUN yum install -y centos-release-scl && \ yum install python27 && echo -e "[mongodb-org-3.2]\nname=MongoDB Repository\nbaseurl==https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/\ngpgcheck=1\nenabled=1\ngpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc" > /etc/yum.repos.d/mongodb-org.repo && \ yum install -y mongodb-org && \ yum install -y tomcat6 CMD ["/bin/bash"] 我得到下面的错误 您的交易已保存,重新运行: yum load-transaction /tmp/yum_save_tx-2016-12-16-05-51EmkBfY.yumtx 命令 /bin/sh -c yum install -y centos-release-scl && yum install python27 && echo […]

如何从本地浏览器访问在jenkins docker实例中运行的AWS EC2 docker tomcat实例

我有一个jenkins实例运行在一个docker容器内,它正在端口8181上侦听。 jenkins实例的URL示例: http ://ec2-34-155-164-97.us-west-2.compute.amazonaws.com/ 我有一个tomcat docker实例,它监听在jenkins docker容器内运行的端口8383。 我可以从我的本地浏览器访问jenkins实例。 有没有什么办法可以从我的本地浏览器访问我的docker tomcat实例? 这是我的docker run命令: docker run -d -v /var/run/docker.sock:/var/run/docker.sock \ -v $(which docker):/usr/bin/docker -p 8181:8080 jenkins-dsl 请提供您的build议。

ehcache不能在Tomcat Docker镜像中工作

我有一个Java应用程序containerise。 该应用程序当前正在Tomcat8 JRE8 AWS Elasticbeanstalk实例上运行。 但是,应用程序无法在我的Docker镜像中部署,该镜像是通过安装有OpenJDK8和Tomcat8的Amazon Linux基础镜像构build的。 部署错误与Ehcache相关: Error creating bean with name 'getEhcache' defined in *****: Invocation of init method failed; nested exception is net.sf.ehcache.CacheException: Error configuring from input stream. Initial cause was null:16: Element <cache> does not allow attribute "maxEntriesLocalHeap". 我明白,当Ehcache和正在使用的Ehcache版本之间存在configuration不匹配时,通常会出现此错误,即版本2.10中引入了maxEntriesLocalHeap,如果版本2.10不可用,则会发生此错误。 我检查了应用程序的有效载荷,并提供正确的jar: bash-4.2# pwd /var/lib/tomcat8/webapps/ROOT/WEB-INF/lib bash-4.2# ls -la ehcache-* -rw-rw-r– 1 root root […]

将Tomcat docker容器的jdk版本升级到1.8

我有一个Web应用程序运行在Eclipse上的窗口,XAMPP的Apache和MySQL。 它使用jdk v 1.8 。 现在,我想部署在Docker Tomcat容器内部。 我已经创build了一个从Tomcat官方形象的容器…但是我已经看到它的JDK版本是1.7 …所以有一些错误,当我尝试在容器下运行Web应用程序(从Tomcat的日志,我看到unsupported major.minor version 52.0 (unable to load class) 所以..我怎么解决我的问题?

在docker centos中启动tomcat服务器时出错

我试图启动一个运行在docker容器内的centos中的apache服务器。 在我的Dockerfile中,运行服务器,我有以下命令: FROM centos:6 #(few commands) CMD sleep 60 && sh /opt/liferay/liferay/tomcat-6.0.32/bin/startup.sh && tail -f /opt/liferay/liferay/tomcat-6.0.32/logs/catalina.out 但是我得到以下错误运行startup.sh为Apache。 : command not founday/liferay/tomcat-6.0.32/bin/startup.sh: line 2: : command not founday/liferay/tomcat-6.0.32/bin/startup.sh: line 17: : command not founday/liferay/tomcat-6.0.32/bin/startup.sh: line 23: 'eb_1 | /opt/liferay/liferay/tomcat-6.0.32/bin/startup.sh: line 27: syntax error near unexpected token `in 'eb_1 | /opt/liferay/liferay/tomcat-6.0.32/bin/startup.sh: line 27: `case "`uname`" in 这里是我的startup.sh的前30行 […]

如何使用Tomcat的Docker?

我试图更加熟悉Docker,因为每个人都在谈论它,每个人都喜欢它。 我知道Docker是如何工作的,但是我不明白如何在实践中使用它。 就我而言,我有几个在Tomcat上运行的Web应用程序。 据我所知,每个应用程序有一个Docker容器是很常见的。 但是这对我来说意味着什么呢? 我应该有几个容器,每个运行Tomcat,然后运行一个Web应用程序? 或者我将只有一个容器与Tomcat的所有Web应用程序部署?

直接复制Tomcat的webapps文件夹而不是战争

我正在尝试看看在tomcat中部署webapp的最佳实践。 如果我尝试部署一个战争文件并对它进行容器化(DCOS容器),那么部署可能的战争文件需要将近50秒。 为了消除这个部署时间,我想在webapps文件夹中粘贴文件夹本身而不是war文件。 我的问题是我可以简单地复制已部署的war文件夹,而不是要求tomcat为我做这件事。 那会工作吗? 或者我不应该这样做,只有放置战争文件? 在这里感谢帮助! 谢谢

在使用Docker-Compose时,使用JPDA远程debugging将不会通过eclipse连接到Tomcat

我对Docker很新,所以这可能是简单的,我做错了。 有了所有的解决scheme,在使用'Docker run'启动Tomcat容器时,我已经能够使用eclipse进行远程debugging了。 docker run -it –rm -e JPDA_ADDRESS=8000 -e JPDA_TRANSPORT=dt_socket -p 8888:8080 -p 8000:8000 tomcat:8.0-jre8 /usr/local/tomcat/bin/catalina.sh jpda run 但是,当使用docker-compose时,我得到一个“无法连接到远程虚拟机连接被拒绝”对话框。 docker-compose up docker-compose.yml设置: tomcat: image: tomcat:8.0-jre8 # START – REMOTE DEBUGGING SETTINGS # Didn't work with or without this network_mode setting. But the bridge settings as seen with 'docker container inspect *CID*' looks almost identical […]