Dockerizing-JavaEAR

Dockerizing-JavaEAR,docker,Docker,我被分配到一个有十年历史的遗留Java项目中,该项目生成以下工件 xxx.jar xxx.jar xxx.jar xxx.war 我被要求对应用程序进行dockerize,并将其部署到Kubernetes中。因此,我计划使用下面的结构来构建耳朵工件 lib META-INF MANIFEST.MF application.xml xxx.jar xxx.jar xxx.jar xxx.war 我的dockerfile应该是这样的 FROM tibco/bwce:latest MA

我被分配到一个有十年历史的遗留Java项目中,该项目生成以下工件

xxx.jar
xxx.jar
xxx.jar
xxx.war
我被要求对应用程序进行dockerize,并将其部署到Kubernetes中。因此,我计划使用下面的结构来构建耳朵工件

lib
   META-INF
   MANIFEST.MF
application.xml
xxx.jar
xxx.jar
xxx.jar
xxx.war
我的dockerfile应该是这样的

FROM tibco/bwce:latest
MAINTAINER Tibco
ADD bwce-rest-bookstore-app.ear /EXPOSE 8080

docker build -t bwce-rest-bookstore-app.

我的方向正确吗?

我不知道EAR工件和Java,但是根据,
ADD
命令可以提取
.tar.gz
文件,但不能提取
.EAR
文件格式,所以我认为最好有这样一个
Dockerfile
(请参阅以获取提取):


您正朝着正确的方向前进,但Dockerfile几乎没有什么问题:

  • 维护人员
    说明无效。改用
  • 指令需要两个参数-源和目标。假设您的WorkTir是
    /
  • EXPOSE
    指令必须在自己的行中
  • 我不确定EAR工件是如何工作的,但您可能需要在创建容器后启动应用程序。这可以通过
    CMD
    指令完成。例如:
考虑到以上所有因素,Dockerfile的外观应大致如下所示:

FROM tibco/bwce:latest
LABEL maintainer="Tibco" #replace MAINTAINER with LABEL
ADD bwce-rest-bookstore-app.ear / #add EAR to root workdir
EXPOSE 8080
CMD ["/apth/to/executable","param1","param2"]

我强烈建议你通过考试

ADD bwce-rest-bookstore-app.ear /
CMD ["/apth/to/executable","param1","param2"]
FROM tibco/bwce:latest
LABEL maintainer="Tibco" #replace MAINTAINER with LABEL
ADD bwce-rest-bookstore-app.ear / #add EAR to root workdir
EXPOSE 8080
CMD ["/apth/to/executable","param1","param2"]