Tag: Tomcat

Docker运行tomcat错误

当我试图运行这个命令时遇到了一些问题 docker run -d -t -p 203:22 -p 7003:8080 -v /home/test/webapps:/usr/local/tomcat8/webapps/ –name tomcat3 tomcat 这个命令可以正确执行,但是docker中的tomcat服务器将会像这样停止: 07-Mar-2017 10:10:24.341 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat8/webapps/examples 07-Mar-2017 10:10:25.011 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat8/webapps/examples has finished in 669 ms 07-Mar-2017 10:10:25.011 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat8/webapps/host-manager 07-Mar-2017 10:10:25.069 INFO [localhost-startStop-1] […]

无法使用Docker将Java程序连接到MySQL

我正在学习docker,并尝试使用Tomcat将我的Java Web应用程序放到容器中。 我跟着一些基本的教程,但我发现没有解决scheme正常工作给我。 如果我运行我的数据库和Java容器,我得到的错误: SEVERE: Unable to create initial connections of pool. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:981) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:339) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253) […]

无法在docker中提供CLASSPATH?

问题: 当我尝试通过在浏览器中运行Web应用程序(.html,.jsp文件)将jsp容器连接到mysql容器时,我正面临一个classNotFoundException 。 注意:它在Eclipse中按预期执行 描述: 我使用下面的dockerfile创build了一个“mysqlrep”图像,我在docker-compose中使用了这个图像名称。 from ubuntu:14.04 run apt-get update run apt-get install mysql-server -y run apt-get install curl -y RUN sed -i -e"s/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/" /etc/mysql/my.cnf env set MYSQL_ROOT_PASSWORD= root add my.sql /var/lib/mysql run bash -c "/etc/init.d/mysql start && mysql -u root </var/lib/mysql/my.sql" 在上面的dockerfile中,我使用my.sql文件创build了数据库,如下所示 CREATE SCHEMA softwareag; use softwareag; create table users( username […]

Docker – 你可以过度分配RAM(tomcat)吗?

从一个新手的angular度来看问题:Docker可以“过度”Ram是否明智,这是一个好主意吗? 这个用例在单个服务器上是多个tomcat,其中tomcat具有处理80%的负载需求的最小值(XMS),但是最大值(XMX)可以处理额外的负载。 10个tomcat,平均XMS为256mb,XMX为896,你可能想要在完整的896 + permgen(64m)+ os的需求(64mb)= 1024MB下分配docker的内存,即使它不会被全部使用时间? https://docs.docker.com/reference/run/#runtime-constraints-on-cpu-and-memory 如果主机支持交换内存,则-m内存设置可以大于物理RAM 感谢任何反馈,如果有经验的人可以确认(和/或已经这样做!)将不胜感激! -D

Tomcat数据源与Docker和Jenkins的属性

试图找出在configuration了docker的Tomcat容器内configurationJNDI查找的最佳方法。 到目前为止,我已经想出了: 在目标服务器上安全地存储context.xml文件,然后在Dockerfile中引用它们 与此有关的问题: 消除可移植性 这违反了docker工的目的,因为它消除了docker工站在旁边的“configuration一次,部署在任何地方”的思想。 每个开发人员都需要在其机器上本地存储的context.xml以使其工作 添加一个构build步骤来将jenkins维护的凭证回显给一个文件,然后将其与通过属性(不使用JNDI查找)由应用程序加载的docker-compose env.file绑定。 这是一个稍微好一点的解决scheme,可以在Jenkins和开发人员级别维护。 开发人员只需确保自己更新属性,或者在本地提供属性。 外部主机凭据 使用类似zookeeper或redis的东西来提供运行时键值来查找数据库凭证。 不知道目前的标准是什么,网上的资源似乎遍布全球。 谢谢!

将Spring WAR部署到基于Tomcat的docker

我已经通过Spring 构build了一个REST风格的Web服务教程,并创build了一个虚拟web应用程序(带有“使用Maven构build”的说明)。 我构build并打包了WAR。 然后我用这个命令运行它: java -jar ./target/Dummy-1.0-SNAPSHOT.war 我可以在http:// localhost:8080 / greeting /上看到虚拟的JSON端点。 现在我想用Docker容器化应用程序,这样我就可以进一步testing它,而无需将Tomcat安装到系统空间。 这是我创build的Dockerfile : FROM tomcat:7-jre8-alpine # copy the WAR bundle to tomcat COPY /target/Dummy-1.0-SNAPSHOT.war /usr/local/tomcat/webapps/app.war # command to run CMD ["catalina.sh", "run"] 我构build并运行docker绑定到http:// localhost:8080 。 我可以看到“ http:// localhost:8080 ”上的Tomcat欢迎页面。 但是我也看不到我的应用程序: HTTP://本地主机:8080 /应用/ HTTP://本地主机:8080 /应用/问候/ HTTP://本地主机:8080 /问候/ 我应该如何追踪这个问题? 可能是什么问题呢? 更新1:Tomcatpipe理界面截图

Tomcat不能在Docker容器中启动,因为它不能创build日志文件

我想代表tomcat用户在Docker容器中运行Tomcat。 这里是Dockerfile: FROM centos:latest … RUN groupadd -g743 tomcat RUN useradd -u734 -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat … RUN chown -R tomcat:tomcat /opt/tomcat/ RUN chmod o+rwx /opt/tomcat … USER tomcat CMD ["/opt/tomcat/bin/catalina.sh", "run"] 我在tomcat用户下以交互模式运行容器: bash-4.2$ whoami tomcat 但由于以下原因Tomcat无法启动: 21-May-2016 21:55:34.262 SEVERE [Catalina-startStop-1] org.apache.catalina.valves.AccessLogValve.open Failed to open access log file [/opt/tomcat/logs/localhost_access_log.2016-05-21.txt] java.io.FileNotFoundException: /opt/tomcat/logs/localhost_access_log.2016-05-21.txt […]

通过JMX访问docker容器中运行的tomcat

我想通过JMX获得tomcat的性能。 Tomcat版本是7,Java版本是1.7.0_79。 Tomcat在Docker的容器上运行。 端口映射已经build立如下。 docker run -itd -p 18080:8080 -p 19998:19998 -p 62911:62911 sad_jang2 bash 在tomcat容器中,setevn.sh是在path/ tomcat_home / bin /中创build的,具有以下内容。 export JAVA_OPTS=" -Xdebug -Xrunjdwp:transport=dt_socket,address=62911,server=y,suspend=n -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=19998 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=172.17.0.16" 我写了一个简单的java代码 JMXServiceURL serviceURL = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + "172.17.0.16"+ ":" + "19998" + "/jmxrmi"); JMXConnector connector = JMXConnectorFactory.connect(serviceURL, null); MBeanServerConnection mbsc = connector.getMBeanServerConnection(); 并可以通过JMX获取相关的值。 但是,我运行这个代码在我的桌面与docker主机的地址和19998端口,如 JMXServiceURL serviceURL […]

无法在tomcat Docker中运行Spring Mvc教程示例

通过Spring教程 ,我已经下载了完整的代码 。 并对pom.xml文件进行了以下更改: <packaging>war</packaging> 运行mvn package我创build了gs-rest-service-0.1.0.war文件。 然后,我下载了Tomcat docker tomcat:8.0并为tomcat用户启用了manager-gui ,这样我就可以使用网页pipe理器。 login到Web界面,我将生成的.war包文件部署到Tomcat服务器中。 一旦开始,我浏览到http://localhost:8080/gs-rest-service-0.1.0/greeting并面对: HTTP Status 404 – /gs-rest-service-0.1.0/greeting type Status report message /gs-rest-service-0.1.0/greeting description The requested resource is not available. Apache Tomcat/8.0.32 启用tomcat的日志,它不会输出任何错误,只是: 09-Mar-2016 19:04:31.746 FINE [http-nio-8080-exec-61] org.apache.catalina.connector.CoyoteAdapter.parsePathParameters The variable [uriBC] has value [/gs-rest-service-0.1.0/greeting] 09-Mar-2016 19:04:31.746 FINE [http-nio-8080-exec-61] org.apache.catalina.connector.CoyoteAdapter.parsePathParameters The variable [semicolon] has value [-1] […]