Tag: Java

Docker:获取部署在Tomcat上的特定于服务的日志

所以我已经和Tomcat一起docker化了一个服务“ myxxx-service ”。 Dockerfile : FROM tomcat:8-jre8 EXPOSE 8080 COPY ./myxxx-service/target/myxxx-service-1.0-SNAPSHOT.war /usr/local/tomcat/webapps cmd mkdir -p /opt/myxxx/db copy ./myxxx-service/src/test/resources/* /opt/myxxx/db/ CMD ["catalina.sh", "run"] 当我运行docker镜像时,我能够得到catalina.out日志。 tomcat成了。 我可以在8080端口上打开标准的tomcat页面。 但我的服务显示404错误响应。 我想检查通常在logs / myxxx-service.logs文件中的服务特定日志。 有没有办法做到这一点? 注:我已经尝试docker service logs 。 我不确定这是否有效。

无法在Amazon EC2上通过Java运行mysql命令行。 只在本地工作的Docker应用程序

执行mysql命令以从SQL文件恢复数据库的Java代码 。 这在我的机器本地工作,但是当我推我的容器到Amazon EC2,我遇到了一个错误。 restoreCmd = new String[]{"mysql ","–user="+doc.getDatabaseUserName(), "–password="+doc.getDatabasePass(),"–host="+doc.getDatabaseHostUri(),"-e","source " + file.getAbsolutePath()}; try { Runtime.getRuntime().exec(restoreCmd); System.out.println("Inserted into RDS"); } catch (Exception ex) { ex.printStackTrace(); } 在亚马逊出现的错误 。 我本地有这个错误,当我的mysql binpath错误。 我解决了这个问题,它在本地工作,但是当我作为一个docker容器build立这个应用程序时遇到同样的问题,如果程序通过docker安装后找不到mysql?  13:40:27 java.io.IOException: Cannot run program "mysql ": error=2, No such file or directory java.io.IOException: Cannot run program "mysql ": error=2, No such file […]

Docker:Dockerize在/ opt / my-service / db文件夹中需要mmdb文件的服务

我正在试图dockerize需要mmdb文件(maxmind数据库文件格式)在一个特定的位置/ opt / my-service / db 本地我能够运行该服务,如果我通过将所需的mmdb文件复制到“ / opt / my-service / db ”文件夹来设置我的系统。 我应该为docker工做些什么? 我试图通过在dockerfile中创build相同的文件位置(不工作)来复制文件: FROM tomcat:8-jre8 EXPOSE 8080 COPY ./my-service/target/my-service-1.0-SNAPSHOT.war /usr/local/tomcat/webapps cmd mkdir -p /opt/my-service/db copy ./my-service/src/test/resources/* /opt/ipgeo/db/ CMD ["catalina.sh", "run"] 这是应该如何做? 或者应该创build一个容器? 如果是的话,怎么样?

不能运行程序“docker”错误= 2,没有这样的文件或目录

所以我试图在MacOS Sierra(V 10.12.5)的eclipse环境中运行一个ant build,它将构build一个docker镜像,获取镜像部分并将镜像推送到artifactory repo。 当我去运行构build图像目标时,构build失败,出现此错误: java.io.IOException: Cannot run program "docker" (in directory my/working/directory) error=2, No such file or directory 在过去的一个小时左右的在线浏览后,似乎可能是一个版本问题,但我有最新版本的docker和eclipse以及Java SE 8 [1.8.0_144]。 我已经去了不存在的目录(它确实),并试图运行一些docker命令,他们都工作正常,守护进程正在运行,似乎没有问题结束。 这不是我的ant版本的所有代码,但这是它失败的部分的开始: <exec executable="docker" dir="docker" failonerror="true"> <arg value="build" /> <arg line="–build-arg label=${label}" /> 任何build议在做什么,这个问题是将不胜感激。

从jenkins部署和运行deamondocker化的jar应用程序

对于个人项目,我创build了一个docker镜像来运行jar应用程序,我想从jenkinspipe道工作中运行容器。 首先我从git获得项目并构buildjar文件 build立docker形象,并推动它 运行容器泊坞窗 构build成功,如果我检查我的正在运行的容器(docker ps),我可以看到我的jar应用程序。 但几秒钟后jenkins过程完成,我的docker集装箱也(jenkins子stream程) 我怎样才能运行我的docker容器作为守护进程,而不取决于jenkins 我用这个命令: docker run -it -d -p 8080:8080 –name app-test name/my-img:test 最后,我想运行一个testing应用程序:test.myapp.com

如何在Docker容器内以debugging模式运行Websphere Liberty?

我把这个添加到我的Dockerfile中,并且这些更改反映在“docker inspect” CMD ["/opt/ibm/docker/docker-server", "debug", "defaultServer"] 服务器日志表明服务器已经停止并且端口(仅限http,不是7777)被解除绑定),但java进程仍在运行,因此不会让容器死亡。 我可以进入容器内,用这个命令启动服务器,一切正常 /opt/ibm/docker/docker-server run defaultServer 我究竟做错了什么? 服务器日志: CWWKE0001I:服务器defaultServer已启动。 我CWWKE0002I:内核在2.253秒后启动 我CWWKF0007I:function更新已启动。 I CWWKF0008I:function更新在0.250秒内完成。 CWWKF0036I:服务器defaultServer已完成收集所需function的列表。 CWWKE0036I:服务器defaultServer在2.804秒后停止。

Docker JVM空间不足

我正在开发一个Ubuntu 16.04 docker container来运行elasticsearch和zed攻击代理。 当我尝试在交互式shell中运行以下命令时启动elasticsearch: $ /etc/init.d elasticsearch start我收到一条错误消息,提示没有足够的空间让jvm启动。 我检查了/etc/elasticsearch/jvm.options文件有-Xms1g和-Xmx1g 。 我使用–memory=4g开关构build了映像,并且运行了带有–memory=4g的容器。 虽然我在elasticsearch线程中看到了一个build议,即将jvm.options文件更改为仅对Xms和Xms使用512m,但这会减小elasticsearch jvm的大小,从而限制elasticsearch可以执行的工作量。 还有什么我可以做,让我的容器有更大的内存为其JVM? 当我用–memory = 4g选项交互运行容器时,如果我运行 $ free -m我看到只有1GB的内存分配给容器。 顺便说一句:主机系统有16GB RAM。

使用Docker从Java应用程序连接到MySQL数据库

我是Docker的新手。 我想让我的Java应用程序与MySQL数据库连接。 我有以下代码: import java.sql.*; class HelloDbDocker{ private static String jdbcDriver = "com.mysql.jdbc.Driver"; private static String dbName = "employee"; public static void main(String[] args) { try { Class.forName(jdbcDriver); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/?user=root&password="); Statement s = conn.createStatement(); int Result = s.executeUpdate("CREATE DATABASE "+dbName); System.out.println(Result ); } catch(Exception e) { System.out.println(e); } } } 对于上面的代码,我想创build一个Dockerfile,它提供所有的依赖关系,并使用该Dockerfile我可以创build一个图像,它可以运行在任何地方,并显示结果variables的值在屏幕上。

将docker运行的dynamic值传递到tomcat jsp页面的策略

我有一个运行在Tomcat中的小软件,运行在一个基于Docker Hub官方“Tomcat”镜像(当前标签“8.5.11-jre8-alpine”)的Dockerfile中。 我将需要“克隆”这个webapp,其中克隆只有一个不同的窗口标题和标题string。 我还需要给第二个容器一个不同的卷映射,但我知道如何做到这一点。 我试图找出从“docker run”命令行传入不同string值的最佳策略,以便在部署的JSP中看到这些string。 我知道我可以在“docker run”命令行上设置环境variables。 过去,我不确定是否可以通过JSP中的expression式读取这些string值的最佳方法。

将openshift本地映像推送到通用的dockerregistry

在Openshift 3.5中,我有一个java应用程序,在Openshiftregistry中创build和创build一个图像stream,172.xx.xxx.xx:5000 / namespace / java-app。 本地图像有一个标签,并与它相关联。 什么是推荐/推动本地图像到一个普通的dockerregistry,这将用于分期等我希望图像在普通的dockerregistry中有相同的标签和沙。 谢谢。