Tag: Tomcat

使用Docker for Mac与JMX连接

我正在为使用Docker for Mac在Docker容器中运行的Tomcat设置JMX连接而苦苦挣扎。 我想我理解基础知识,并在tomcat / bin目录中有一个setenv.sh,如下所示: CATALINA_OPTS="-Dcom.sun.management.jmxremote=true\ -Dcom.sun.management.jmxremote.local.only=false\ -Dcom.sun.management.jmxremote.authenticate=false\ -Dcom.sun.management.jmxremote.ssl=false\ -Djava.rmi.server.hostname=185.83.15.228\ -Dcom.sun.management.jmxremote.port=9999\ -Dcom.sun.management.jmxremote.rmi.port=9999" 我认为有问题的部分可能是java.rmi.server.hostname属性。 我已经设置这个主机的IP,但我也尝试了其他明显的东西。 我相信这应该是jconsole或jvisualvm将运行的机器的IP,但这不适用于我。 我开始像这样的容器: docker run -d -v /Users/timbo/tomcat-jmx.sh:/usr/local/tomcat/bin/setenv.sh -p 8080:8080 -p 9999:9999 tomcat:8.0 所以端口9999是暴露的。 当我尝试连接使用jvisualvm连接到本地主机:9999(这将为Mac的Docker路由到实际上在172.17.0.2的容器)我得到的错误:无法连接到本地:9999使用服务:jmx:rmi:// / JNDI / RMI://本地主机:9999 / jmxrmi 任何提示什么是错的?

在docker中不能启动tomcat:“权限被拒绝”

我有以下的docker文件: FROM debian:jessie RUN apt-get update && apt-get install -y wget RUN wget –quiet http://www.us.apache.org/dist/tomcat/tomcat-8/v8.5.20/bin/apache-tomcat-8.5.20.tar.gz -O /tmp/tomcat.tar.gz RUN cd /tmp && tar xf tomcat.tar.gz RUN mv /tmp/apache-tomcat-8.5.20 /usr/share/ RUN adduser –system –shell /bin/bash –gecos 'Tomcat Java Servlet and JSP engine' –group –disabled-password –home /home/tomcat tomcat RUN chown -R tomcat:tomcat /usr/share/apache-tomcat-8.5.20/* RUN chmod +x /usr/share/apache-tomcat-8.5.20/bin/*.sh RUN […]

如何从家庭networking中的另一台局域网PC访问docker容器

我在docker世界是新的,我在Windows 10的环境(笔记本电脑)使用甲骨文虚拟框与虚拟机。我可以通过主机访问容器(例如tomcat)。 但是我想从同一局域网内的另一台台式机上访问容器。 为此,我创build了以太网和虚拟主机以太网适配器#3的桥接networking,并在我的虚拟机XYZ中将此桥接器用作适配器3。 我试图运行该图像 docker run –name testomcat -d -p 192.168.0.100:8087:80 tomcat:latest 。 但没有运气。 集装箱未能启动。 驱动程序无法编程端点错误的外部连接。 我在正确的轨道? 请任何身体帮忙吗?

了解tomcat docker文件

我正在看下面的tomcat docker文件: https://github.com/docker-library/tomcat/blob/5c8b74e495a1b63116b524407941b15eef58a7fe/8.0/jre8/Dockerfile 但是,它应该不指定一个操作系统作为基础的形象(例如Ubuntu,Debian等)? 我基本上只需要一个包含Ubuntu 16.x,Java 8和Tomcat 8的docker文件。但是不知道为什么我需要在上面的dockerfile中有很多行来完成。

在Docker容器中访问Tomcat时发生CORS错误

我正在构build一个使用REST API与Camunda进程交互的Angular 4应用程序。 尝试login,面临CORS错误。 Dockerfile: FROM camunda/camunda-bpm-platform:tomcat-latest ADD sample.war /camunda/webapps/sample.war COPY ./web.xml /camunda/webapps/engine-rest/WEB-INF 像这样运行它: docker build -t camunda-eval . docker run -d –name camunda -p 8080:8080 <image> 控制台中出现错误: 无法加载http:// localhost:8080 / camunda / api / admin / auth / user / default / login / tasklist :请求的资源上没有“Access-Control-Allow-Origin”头。 原因' http:// localhost:4200 '因此不被允许访问。 我的web.xml如下所示: <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" […]

在Docker中设置java主页

我有一个基地Ubuntu的docker图像,并安装Java 8上。 我需要在tomcat需要的时候在docker文件中设置java home。 我如何知道jre安装的位置来设置java home。

为什么我的tomcat docker容器不能部署webapp?

我只是想开始一个简单的tomcatdocker集装箱,并把我的战争文件装入它。 命令: docker run –name tomcat_server -p 8080:8080 -p 8009:8009 \ -v /c:/p/webapps/sample-webapp.war:/usr/local/tomcat/webapps/sample-webapp.war \ -d tomcat:8 但我总是得到一个404错误: 原始服务器没有find目标资源的当前表示,或者不愿意透露目标资源的存在。 容器启动后,我用docker exec跳到它,我只发现了战争文件sample-webapp.jar而不是文件夹/sample-webapp (因为它是在我的“真正的本地”tomcat) docker tomcat webapps文件夹: drwxr-x — 3 root root 4096 Oct 10 08:42 ROOT drwxr-x — 14 root root 4096 Oct 10 08:42 docs drwxr-x — 6根root 4096 Oct 10 08:42例子 drwxr-x — 5 root […]

使用Docker容器的SSL客户端证书?

我是Docker的新手,并试图学习它。 我在Windows 7上使用Docker快速入门terminal。我有一个简单的要求,我在Docker容器中使用Tomcat。 我的DockerFile如下所示: FROM tomcat:8.0.47-jre7 RUN cd /usr/local/tomcat/webapps COPY test.war /usr/local/tomcat/webapps/test.war 然后,我在Docker控制台中发出简单的构build和运行命令。 test.war是一个Java Web服务。 此Web服务使用HTTPS在内部调用远程主机上的其他Web服务。 我有远程主机的证书。 我在互联网上尝试了几种方法,将这些证书导入或复制到不同的论坛/博客上提到的不同位置,但徒劳无益。 每当我使用HTTPS从test.war调用外部Web服务时,都会给我SSL握手错误。 我也有一个Java密钥库。 我试图在我的Docker文件中使用Java,并尝试使用密钥库,但是又一次徒劳。 当我在我的机器上直接安装的tomcat上使用相同的test.war时,它工作得很好。 在这种情况下,有人可以通过提供能够导入/使用SSL证书/密钥库的步骤来帮助我。 另外,如何导入多个证书?

Jersey Web应用程序的Docker镜像

我正在尝试从运行在Tomcat服务器上的Jersey Web应用程序创build一个Docker镜像。 我正在开发一个Windows 7机器。 我在我的开发机器上的本地Tomcat 8.0.14应用程序服务器上部署了Web应用程序,一切正常。 为了创buildDocker镜像,我把下面的Dockerfile. 在与my-web-app.war文件相同的目录中。 FROM tomcat:8.0-jre8 ADD /my-web-app.war /usr/local/tomcat/webapps/ CMD ["catalina.sh", "run"] 之后,我使用以下命令创build映像: docker build -t my-web-app . 这是成功完成的,图像显示与docker images -a命令。 之后,我通过这个开始形象: winpty docker run –rm -it -p 8080:8080 my-web-app 命令提示符显示服务器已成功启动,当我尝试访问Web应用程序时,这也起作用: http://192.168.99.100:8080/my-web-app 显示适当的HTML欢迎页面。 当我尝试访问任何实际的Jersey RESTful Web服务时,就会出现这个问题。 任何时候我尝试访问不同于HTML页面的东西时,我会收到以下错误消息: javax.servlet.ServletException: Servlet.init() for servlet My Web Application threw exception org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132) […]

Java的jks keystore在AWS的docker上的tomcat上有CA,中级和网站证书给出“Peer's Certificate Issuer is not recognized”

我已经把jks keystore和Java 1.8 cacerts与来自我公司的证书提供者的证书放在一起,仅供内部使用,并将其构build到我的应用程序的docker版本中,并部署它并成功启动服务器并通过Chrome和Edge连接到它,但Windows 10上的Firefox没有连接,给SEC_ERROR_UNKNOWN_ISSUER“你的连接不安全”,“对方的证书颁发者不被识别”。 这就是我所做的: 我使用Java 1.8 keytool创build了我的私钥和证书请求。 获取一个根证书.cer,一个中间.cer和一个网站.cer文件 我把根证书放到java的cacerts中: keytool -importcert -alias app-cert1 -file AD1GXECA001-SHA2-Root.cer -v -keystore c:/dev/tools/Java/jdk1.8.0_131/jre/lib/security/cacer TS 我也按照这个顺序将它们连接在一起成为一个pem文件: 1. website cert 2. intermediate cert 3. company cert 并用keytool将它们插入到jks中: keytool -import -alias app-cert1 -file chain.pem -v -keystore my-app.jks 我将它们构build到我的docker映像中,该映像运行一个带有tomcat和应用程序的Spring引导器: CMD -Dlogging.file=/logs/my-app.log -Djava.security.auth.login.config=/config/login.conf -Djava.security.krb5.conf=/config/krb5.conf -Djavax.net.ssl.trustStore=/config/cacerts -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.debug=ssl -jar /my-app.jar 和Springconfiguration: server.ssl.key-alias=app-cert1 server.ssl.key-password=changeit server.ssl.key-store=file:/config/my-app.jks […]