Tag: Java

提交在/ workspace中生成的文件的容器更改(即使使用makefile)也不会保留到图像的新实例中

我正在使用一个生成大量文件的Java程序(即ANTLR使用语法生成parsing器)。 当我执行: java -cp "/usr/local/lib/antlr-4.5-complete.jar:$CLASSPATH" org.antlr.v4.Tool Java8.g4 && javac *.java 在使用Docker镜像的交互式shell中,某些java文件及其类在当前目录中生成。 但是当我在Dockerfile中使用以下方法执行此操作时: RUN java -cp "/usr/local/lib/antlr-4.5-complete.jar:$CLASSPATH" org.antlr.v4.Tool Java8.g4 && javac *.java 该文件似乎并没有生成。 任何原因为什么发生这种情况,我怎么也许可以纠正这个使用Dockerfile中的RUN指令生成文件? 更新1:更多的信息,我的Dockerfile看起来像这样: FROM blah/blah_java MAINTAINER blabla RUN apt-get install -y make wget RUN mkdir -p /usr/java && wget -O java.tar.gz http://download.oracle.com/otn-pub/java/jdk/8u40-b25/jdk-8u40-linux-x64.tar.gz –header "Cookie: oraclelicense=accept-securebackup-cookie" && tar xfz java.tar.gz -C /usr/java ENV JAVA_HOME /usr/java/jdk1.8.0_40 […]

Docker与Spring Boot / Dropwizard是互补还是竞争?

我今天做了一些研究,寻找Docker,Spring Boot和Dropwizard之间的差异 。 但是,我发现了几个博客post和关于如何“dockerize”Spring Boot / Dropwizard应用程序的文章。 在我的理解中, Spring Boot / Dropwizard与Docker非常相似 :可以用它作为“容器”来构build和打包(Java)应用程序(JAR / WAR)。 除了所有这三种select之外,(我认为) 您还需要额外的框架或脚本来实现集群pipe理,弹性,服务发现等function。 对于Docker,您可以使用诸如Kubernetes或Amazon ECS之类的东西。 我还读到,有些人正在为Spring Boot开发Kubernetes集成。 因此,我想知道: Docker和Spring Boot / Dropwizard是否真的是互补的,而不是竞争? 或者你为什么只在网上find关于如何结合他们的文章,而不是他们有什么不同? 感谢一些解释。

Dockercachinggradle依赖

我试图部署我们的Java Web应用程序来使用docker来弹性beanstalk,这个想法是能够在本地运行容器进行开发和testing,并最终将其推到使用git的生产。 我创build了一个安装了tomcat8和java8的基础镜像,执行gradle build的镜像inheritance了这个基础镜像,加速了构build过程。 除了事实上,使用docker构build的inheritance应用程序容器似乎不会cachinggradle依赖关系,它每次都会下载,包括gradlew。 我们使用以下命令构build我们的Web应用程序: ./gradlew war 有什么办法可以caching~/.gradle的文件,这将大大加速我的构build 这对于beanstalk来说并不是什么大问题,但是对于开发人员来说,这是一个很大的问题,因为这需要很多时间,正如你可以想象的那样 基础图像dockerfile: FROM phusion/baseimage EXPOSE 8080 RUN apt-get update RUN add-apt-repository ppa:webupd8team/java RUN apt-get update RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections RUN apt-get -y install oracle-java8-installer RUN java -version ENV TOMCAT_VERSION 8.0.9 RUN wget –quiet –no-cookies http://archive.apache.org/dist/tomcat/tomcat-8/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz -O /tmp/catalina.tar.gz # Unpack RUN tar […]

docker jboss7 war commit。 服务器启动以不可恢复的方式失败

有没有办法将.war文件部署到Docker容器内运行的Jboss-as7中 因为我的jboss服务器似乎在Docker提交后失败。 Could not rename /usr/local/share/jboss/standalone/configuration/standalone_xml_history/current to /usr/local/share/jboss/standalone/configuration/standalone_xml_history/20140107-050049692 我试过了 chmod +w usr/local/share/jboss/standalone/configuration/standalone_xml_history 参考: https://docs.jboss.org/author/display/AS7/Configuration+file+history 现在,如果我停止docker集装箱,我不得不部署战争文件,并在此之后不做docker提交。 我正在使用运行在stream浪汉上的Ubuntu 12.04 我使用一个主pipe来运行ssh和jboss7。 我的主pipe文件: [supervisord] nodaemon=true [program:sshd] command=/usr/sbin/sshd -D stdout_logfile=/var/log/supervisor/%(program_name)s.log stderr_logfile=/var/log/supervisor/%(program_name)s.log autorestart=true [program:jboss] command=/usr/local/share/jboss/bin/./standalone.sh -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0 stdout_logfile=/var/log/supervisor/%(program_name)s.log stderr_logfile=/var/log/supervisor/%(program_name)s.log autorestart=true 接下来我的步骤: vagrant up [default] Forwarding ports… [default] — 10022 => 10022 (adapter 1) [default] — 8080 => 18080 (adapter 1) Jboss-as7日志: […]

用于Java Spring Boot的Docker基础映像(`FROM`)?

Java的Spring Boot应用程序有哪些Docker基础映像( FROM )? 我刚刚开始与docker,我看到, FROM里面的Dockerfile可以定义像Java的图像 FROM java:8 如果我正在使用Gradle(或Maven)进行构build,那么开始避免configurationGradle / Maven项目常见的是更好的基础形象? 当然,Spring Boot应用程序只是构build输出文件夹中的.jar文件,关于如何使用Docker运行(对于使用标准构build工具构build的Java项目)

如何发送HTTP请求到在泊坞窗容器中运行的服务器?

我已经build立了一个Java应用程序,它充当一个Web服务器并处理http请求。 我已经testing过它在容器之外工作(但它在容器中),但是当容器在容器中时,我的请求似乎没有得到它。 服务器侦听端口3971,Dockerfile如下所示: FROM java:8 ADD VaultServer / EXPOSE 3971 EXPOSE 3972 ENTRYPOINT ["java", "-jar", "VaultServer.jar"] 调用根地址应该返回一些东西(通常我会发送一个GET到http:// localhost:3971 / )。 我已经尝试用docker-machine的ip地址replace'localhost',并且在检查我的服务器正在运行的容器时得到的ip地址,但都没有响应。 当我打电话给docker机的IP地址,我得到ERR_CONNECTION_REFUSED。 还有什么我需要启用?

将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理界面截图

Docker – 将Apache Tomcat Web服务器连接到MySQL服务器

我试图将运行在Apache Tomcat容器中的Web服务器连接到运行另一个容器的MySQL数据库。 为了做到这一点,我正在使用Docker的链接机制。 docker run -it –name ${CONTAINER_NAME} –link db:db -p 8080:8080 -d tomcat 运行容器后,我可以看到容器被链接,环境variables正确显示。 为了将运行在Tomcat容器中的Web应用程序连接到数据库,我使用了以下configuration文件: <Context> <Resource name="jdbc/MYDB" type="javax.sql.DataSource" auth="Container" username="user" password="password" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://${DB_PORT_3306_TCP_ADDR}:${DB_PORT_3306_TCP_PORT}/epcis?autoReconnect=true"> </Resource> </Context> 现在的问题是我无法build立到数据库的连接,因为Docker公开的环境variables在Tomcat环境中无法识别。 有一种方法可以让Docker公开的这些环境variables对Apache Tomcat环境可见吗?

Dockerizing一个使用oracle-ojdbc的maven应用程序:你如何获得驱动程序?

我是一个没有经验的docker用户,我正在试图使用Oracle dockerize我的Maven Web应用程序。 当我尝试使用我的maven图像构build时,它失败地说:“在中央找不到工件com.oracle:ojdbc14:jar:10.2.0.4.0”,这是因为我没有将驱动程序包含在任何地方。 我的问题是我怎样才能让docker意识到司机的位置,从而能够build立应用程序? 谢谢

无法从intellij插件部​​署docker镜像

我正在使用intellij 2016.1和docker插件2.1.4。 我想部署一个简单的Java容器到远程机器,并得到错误: 未能部署'gaia-itest图像ID:gaiaadm / gaia-integration-tests':javax.websocket.DeploymentException:启动WebSocket连接的HTTP请求失败 这是部署日志的输出: Deploying 'gaia-itest Image Id: gaiaadm/gaia-integration-tests'… Creating container… Container Id: 71afc5f10a0779639543bb7c74235f507d59e24890e66d01fe17a7f90cccc301 Starting container 'gaia-itest' Attaching to container 'gaia-itest'… Failed to deploy 'gaia-itest Image Id: gaiaadm/gaia-integration-tests': javax.websocket.DeploymentException: The HTTP request to initiate the WebSocket connection failed 这是我的Dockerfile: FROM maven:3.3.3-jdk-8 # Bundle app source COPY . /src # Set the working […]