Tag: Java

Docker(LXC)容器中的JVM内存分配

我们已经dockerized一个JVM(Scala)应用程序,Java 1.7,并试图决定如何分配内存。 我们有一个应用程序在Docker容器中运行。 如果Docker容器分配了4GB的内存,我们是否应该为JVM分配4GB(或者为了安全起见,可能less一些)? 据我了解,除了从入口点调用Docker容器内部没有其他进程运行,所以我们不应该担心非JVM内存使用 – 是真的,还是过度简化? 还有其他问题我们应该问? 编辑我们使用Mesos / Marathon来部署Docker镜像 – 我相信它确实在内存上设置了cgroup限制(至less它给人的印象是这样),但我肯定是错的。

如何同步在Docker容器上运行的Java应用程序的时间?

我是这样的docker文件: FROM anapsix/alpine-java:jre8 ADD service-god-sac-1.0.0-SNAPSHOT.jar app.jar ENTRYPOINT ["java", "-Xmx64m", "-XX:MaxMetaspaceSize=64m", "-jar", "/app.jar"] 当我编译和部署的应用程序设置时间使用这个: -v / etc / localtime:/ etc / localtime:ro 我注意到主机时间和包含时间是同步的,但是应用程序的日志显示了不同的时间,即UTC时间。 我怎样才能同步主机,容器和Java应用程序?

Docker / CoreOS上的Java JVM

我正在学习CoreOS / Docker,并试图围绕几件事情思考。 使用Java基础架构,是否可以在自己的容器中使用JVM,并让其他Java应用程序/服务使用此JVM容器? 如果没有,我假设JVM将不得不捆绑在每个容器中,所以基本上你必须把Java dockerfile和合并我的Java服务; 实质上创build了一个在CoreOS机器上运行的Linux机器+ Java +服务容器。 我唯一的想法是可以在CoreOS本身上运行JVM,但似乎这是不可能的。

如何访问春季启动应用程序的https URL

我有一个弹簧启动应用程序,它是托pipe的洞察力的DOCKER。 为了使它HTTPS我已经申请: server.ssl.key-store: classpath:keystore.p12 server.ssl.key-store-password: password server.ssl.keyStoreType: PKCS12 server.ssl.keyAlias: tomcat 这是不工作我得到无法得到任何回应。

针对Docker和DC / OS的JVM优化

我正在将一个裸机Java应用程序(jar jdk8)移动到Docker容器和DC / OS。 我在docker上注意到一个奇怪的模式,我们将-XMX设置为32位,并分配一个36位的docker集装箱。 每隔几个小时左右,应用程序就会在旧的gen mem分配中激增,并且在尝试执行堆转储时,GC将陷入循环(最大CPU)。 有什么优化或者我可以用来看看为什么在这个1-5秒的时间间隔里,我们的速度如此之快? 是否有任何我可能需要知道与Docker和JVM的陷阱? 我们正在使用默认的GC

dockerfile的内容来运行glassfish服务器,并从git仓库部署特定的应用程序

我正在尝试使用glassfish 4.1服务器部署我的java ee应用程序,并且我想将其部署为Docker容器。 因此,我想编写一个正确的docker来下载/启动一个glassfish服务器,然后使用相应的GIT存储库部署我的应用程序。 目前,我能够使用以下Dockerfile构build一个启动glassfish服务器的Docker容器: FROM java:8-jdk ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 ENV GLASSFISH_HOME /usr/local/glassfish4 ENV PATH $PATH:$JAVA_HOME/bin:$GLASSFISH_HOME/bin RUN apt-get update && \ apt-get install -y curl unzip zip inotify-tools && \ rm -rf /var/lib/apt/lists/* RUN curl -L -o /tmp/glassfish-4.1.zip http://download.java.net/glassfish/4.1/release/glassfish-4.1.zip && \ unzip /tmp/glassfish-4.1.zip -d /usr/local && \ rm -f /tmp/glassfish-4.1.zip EXPOSE 8080 4848 8181 WORKDIR […]

使用maven docker插件在maven版本上提交并保存图像

我正在用docker实现一个基于java的微服务。 尽pipe我对Java和Maven很熟悉,但对于Docker来说,我并不是那么喜欢。 该服务将有工作得到一个文件,parsing它的内容,并写入到MongoDB。 之后,服务不需要,直到下一次导入。 解决scheme应该只在每次调用时使用一个文件,并在执行maven版本时进行版本控制。 用法应该是这样的: import.sh file-to-be-imported.xyz Docker最终只需要运行时,而不是开发。 因此,我认为一个执行脚本,就像Docker运行参数一样。 在maven发行版中,我想在testing运行后执行以下“特殊function”: 在目标生成脂肪jar 生成更新后的导入脚本,其目标名称为jar(.jar)(在发布时更新),以便导入脚本 更新版本到新的快照版本(默认使用Maven发布插件) 更新容器到新版本(我猜Docker提交必须用于那个) 提交更新的容器 存储更新的容器到一个图像(不知何故与docker保存,我想) 我想使用它包含的jar对容器进行版本化,因为对实现的更改可能会更改运行时环境或使用情况。 哪个maven插件适合该用例? 我怎样才能改变我的POM用于给定的插件的用例。 我怎样才能从脚本文件加载(以前导出)最新的版本容器? Docker Hub不是我们的select。 我们将用jenkins的目标文件夹将最近的脚本捆绑出来,解决图像的部署问题。 就像之前所说的那样,只要将一个文件名传递给jar的main方法就可以了,这个方法会处理所有的东西,直到导入完成。 没有涉及或需要的应用服务器。

Java项目的Docker镜像

我想做一个Java项目的docker形象。 我首先创build了一个目录,并在其中创build了一个docker.txt文件。 这些文件包含这个 FROM java:8 # Install maven RUN apt-get update RUN apt-get install -y maven WORKDIR /home/mmt/CouchBaseClient/CB-RestAPI/CouchBaseThinClient # Prepare by downloading dependencies ADD pom.xml /home/mmt/CouchBaseClient/CB-RestAPI/CouchBaseThinClient/pom.xml RUN ["mvn", "dependency:resolve"] RUN ["mvn", "verify"] # Adding source, compile and package into a fat jar ADD src /home/mmt/CouchBaseClient/CB-RestAPI/CouchBaseThinClient/src RUN ["mvn", "package"] EXPOSE 4567 CMD ["/usr/lib/jvm/java-8-openjdk-amd64/bin/java", "-jar", "target/sparkexample-jar-with-dependencies.jar"] 然后我在terminal运行下面​​的命令 […]

如何dockerize Maven项目? 以及有多less种方法来完成它?

我是新来的Docker,并不知道如何用maven运行一个java项目,即使我已经阅读了许多文档,并尝试了很多方法。 我应该使用Dockerfile生成图像吗? 当使用Dockerfile在主机上运行maven项目时,有什么命令?

在Docker容器中运行时,JVM不能映射保留的内存

我似乎无法在我的服务器上的Docker容器中运行Java。 即使发出java -version ,我也会得到以下错误。 root@86088d679103:/# java -version OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000035ce1000000, 2555904, 1) failed; error='Operation not permitted' (errno=1) # # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 2555904 bytes for committing reserved memory. # An error report file with more […]