首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker与Java集成

Docker与Java集成
EN

Stack Overflow用户
提问于 2015-03-06 21:27:44
回答 1查看 612关注 0票数 3

我首先要说的是,我不是Java开发人员,也不是Docker专家。

为了尽量缩小前端和后端(在这种情况下是Java)开发人员之间的差距,我开始使用java和maven设置一些对接映像,在构建之后,我使用指向java项目的卷启动了一个docker容器(而且前端开发人员不必担心依赖关系或如何运行后端服务)。

我已经有个问题了。我见过其他人用实际的代码构建一个映像,而不是稍后附加它,那么最好的情况是什么(如果有)?我是这样做的,因为我可以为“每个”项目重用该映像,并避免构建不同的映像。

为了启动/停止/重新启动坞容器,我创建了一个脚本来完成所有这些工作,这样我就可以对代码进行一些更改,然后重新打开它。

它有点工作,我的意思是,我很清楚这不是Java开发人员从控制台进行这类工作的正常工作流程。因此,现在,最重要的问题是,如何将对接器与Java集成?我知道您可以创建自定义的构建/运行命令,但我也看到IDE中没有显示日志之类的内容。

有人能解释一下你是如何使用Docker + Java的吗?

注意: Maven也用于编译java代码,比如mvn clean install (如果这有帮助的话)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-07 20:08:44

我不将Docker与Java结合使用。我使用IDE (Eclipse)编写和测试代码,使用Maven管理构建。然后我有一个像这样的Dockerfile

代码语言:javascript
复制
FROM java:8

RUN apt-get update || apt-get update
RUN apt-get install -y maven

# Maven installs Java 7, which set itself as the default...
RUN update-alternatives --remove java /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

CMD java -jar target/main.jar

# Pull down dependencies here to allow Docker to cache more
ADD pom.xml /opt/app/pom.xml
WORKDIR /opt/app
RUN mvn dependency:go-offline -X

# I use the maven-shade-plugin to build a single jar
ADD src /opt/app/src
RUN mvn package

如果您在一台机器上构建所有映像,那么Docker将智能缓存,您不需要再做任何事情。如果您想要运行更多的机器,或者只想将其显式化,您可以这样做:

base/Dockerfile

代码语言:javascript
复制
FROM java:8

RUN apt-get update || apt-get update
RUN apt-get install -y maven
RUN update-alternatives --remove java /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

CMD java -jar target/main.jar

$ docker构建-t yourorg/java-base:8 ./base/

myapp/Dockerfile

代码语言:javascript
复制
FROM yourorg/java-base:8

ADD pom.xml /opt/app/pom.xml
WORKDIR /opt/app
RUN mvn dependency:go-offline -X

ADD src /opt/app/src
RUN mvn package

Java的Docker并没有给您带来那么大的效果,因为JAR已经非常可移植,并且包含了很好的内容。我认为这样可以方便地同时运行不同的Java版本。我使用它是因为它允许我以不同的语言运行应用程序,而不需要知道容器中有什么。我有一些在Java,一些在Python,一些在JavaScript,一些在Erlang,但是它们都是作为docker run -d <flags> myorg/myimage:someversion开始的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28907975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档