Tag: Java

Docker设置

今天我正在阅读Docker的许多内容,甚至试图在我的笔记本电脑上运行Vagrant。 但是我还不清楚为什么,特别是如何把它介绍给我的团队。 只是我没有看到用例。 我知道你可以为Web服务器和数据库创build容器。 所以现在你可以说嗨你们正在使用我创build的custom-tomcat-1.0和custom-mysql-1.4容器。 到目前为止如此清楚。 我遇到的问题是那些“数据容器”。 我仍然可以理解,我将DB-data-1.4与数据库容器的数据文件更新到当前模式,我可以用我的可部署的,这将以某种方式与DB数据图像对应的WEB-app-3.5。 那么Java呢? 如果我将有Java DB,我将需要在所有使用它的容器上安装JVM? 到目前为止是否有任何意义? 现在几件事情我没有看清楚。 开发人员将如何与本地工作呢? 他会创build一些WEB应用程序图像快照并启动它? 或者以某种方式将跳过使用WEB应用程序图像,并以某种方式直接将构build文件提供给服务器映像? jenkins,我想它会从git下载代码。 build立它并创build一些WEB应用程序图像快照。 开始一切。 现在我可以运行一些集成testing,以某种方式从外部使用应用程序,但是如何? 基本上有两个问题:你如何在Docker上进行本地开发,以及如何执行集成testing。 我需要真实的用例,所以我可以看到它的大局。 我们正在使用maven,java,spring,sql db,jenkins,junit。

如何在Docker容器中热部署Java EE应用程序

我正在寻找将Java EE应用程序热部署到Docker容器中的可能性。 我发现最有趣的内容是可以通过“卷”在主机和容器之间共享tomcat目录。 但这不是一个热门的部署。 参考: https : //groups.google.com/forum/#!topic/docker- user/ b_4NRn9sLBQ 有关如何达到它的任何build议?

无法通过java-client连接到Dockerized elasticsearch

我使用OFFICIAL REPO elasticsearch docker镜像设置了一个elasticsearch容器。 然后运行它 docker run -dP elasticsearch 容易和工作。 ps的信息是 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 658b49ed9551 elasticsearch:latest "/docker-entrypoint. 2 seconds ago Up 1 seconds 0.0.0.0:32769->9200/tcp, 0.0.0.0:32768->9300/tcp suspicious_albattani 我可以通过端口32769-> 9200使用http-client访问服务器 baihetekiMacBook-Pro:0 baihe$ curl 10.211.55.100:32769 { "status" : 200, "name" : "Scorpia", "cluster_name" : "elasticsearch", "version" : { "number" : "1.4.5", "build_hash" : […]

无法使用JDBC连接到mySql docker容器

我使用Docker Maven插件 当testing集成开始时,我可以通过以下命令在terminal的容器上连接到mysql: mysql -h 127.0.0.1 -P 32795 -uroot -p 和万物运作良好,但是当我想连接在Java应用程序的JDBC与JDBC与这个代码: Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection connection = DriverManager.getConnection( "jdbc:mysql://127.0.0.1:" + System.getProperty("mysqlPort") + "/dashboardmanager", "root", "root" ); 我得到这个错误: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Cannot create PoolableConnectionFactory (Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver […]

Docker镜像创buildexception:“此存档包含未closures的条目”

我正在使用Docker,我正在尝试使用docker-java API从dockerfile构build一个图像。 在这里你可以find如何做到这一点,我也这样做: protected void createDocker(DockerBuildRequestContext requestContext) throws Exception { InputStream response = dockerClient.buildImageCmd(requestContext.getBuildDir()).exec(); StringWriter logwriter = new StringWriter(); try { LineIterator itr = IOUtils.lineIterator(response, "UTF-8"); while (itr.hasNext()) { String line = itr.next(); logwriter.write(line); LOG.info(line); } } finally { IOUtils.closeQuietly(response); } 但是我得到了这个例外: com.github.dockerjava.api.model.Info@47a4d139[containers=2,debug=false,driver=aufs,driverStatuses=[[Root Dir, /var/lib/docker/aufs], [Dirs, 40]],executionDriver=native-0.2,IPv4Forwarding=1,images=36,IndexServerAddress=https://index.docker.io/v1/,initPath=/usr/bin/docker,initSha1=,kernelVersion=3.13.0-39-generic,memoryLimit=true,nEventListener=0,NFd=11,NGoroutines=11,sockets=<null>,swapLimit=0] Build docker located at: /home/mati/Projects/engage/server/platforms/preserve/engage-app/engage-app-docker/target/docker/tomcat7-base and tagged: tomcat-base […]

在单独的机器上运行bazel远程执行器testing

bazel( 这里 )的远程工作人员指南解释了如何在本地启动远程工作人员,然后运行bazel。 我试了一下,确实有效( GH中报告的错误) 另一个尝试是创build一个虚拟的独立的机器上运行远程工作者,通过运行它在docker集装箱内运行bazel反对它。 但它以不同的方式失败了 – 我想这次我错误地使用了它。 这是我的docker文件: FROM openjdk:8 # install release bazel from apt RUN echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | tee /etc/apt/sources.list.d/bazel.list RUN curl https://bazel.build/bazel-release.pub.gpg | apt-key add – RUN apt-get update && apt-get install -y zip bazel # compile dev bazel from sources RUN mkdir -p /usr/src/bazel # […]

使用docker和IDE

为了共享安装,我们决定与docker一起工作。 对于每个项目,全局依赖项都安装在容器内部。 我们正在用Python(和Java)进行开发,但是目前我们只谈论Python;) 使用Vim(例如),我想使用代码完成,但因为整个库安装在容器中,我主机上的vim安装无法访问它们。 对于Java,Javascript等是这样的,这是绝对正常的… 但有什么解决scheme能够使用容器,获得访问IDE的IDE,而无需在容器本身安装IDE?

Docker化环境中的Java开发:debugging和热代码重新加载

您好,我是新来的Docker,并希望利用它的Java开发。 但我不明白如何设置热代码重新加载或debugging我的应用程序代码在Docker容器中开发Java。 例如,如何实现像Java那样支持IDE的“好”开发。 是否真的需要docker build做一个新的形象,看看改变的代码的影响? 我find了以下链接,但是他们对我没有太大的帮助。 使用Gunicorn在Docker中自动重新加载Django开发中的代码更改 如何在开发中编辑Docker容器中的代码? http://crosbymichael.com/advanced-docker-volumes.html 在OS X上用Docker设置开发环境的正确方法是什么?

如何从docker命令行设置参数来configurationspring引导应用程序?

我有我的弹簧启动应用程序与一个YMLconfiguration它在一个docker的收件人。 类似的东西: spring: application: name: micro-example config: uri: ${vcap.services.config-service.credentials.uri:http://xxx.xxx.xx.73:8888} 正如你所看到的,在我的configuration中有一个ip硬编码,这是一个坏主意,因为compililation只是一个服务器。 是否有一种方法来外部化的IP,或从docker命令行或更好的主意设置?

如何将VisualVM附加到在Docker容器中运行的简单Java进程

其实我想要一个适用于JEE容器的解决scheme,特别是Glassfish,但是当我尝试了许多设置的组合并且没有成功之后,我把设置简化为最简单的情况。 这是我在Docker容器中启动的Hello World守护进程。 我想附加jconsole或VisulaVM到它。 一切都在同一台机器上。 public class Main { public static void main(String[] args) { while (true) { try { Thread.sleep(3000); System.out.println("Hello, World"); } catch (InterruptedException e) { break; } } } } Dockerfile FROM java:8 COPY . /usr/src/myapp WORKDIR /usr/src/myapp RUN javac Main.java CMD ["java", "Main"] build设: docker build -t hello-world-daemon . 运行: docker […]