Docker 多模块项目打包

创建Dockerfile文件

Docker 多模块项目打包

 

此处的参数说明:

FROM openjdk:8-jdk-alpine  基与jdk1.8
VOLUME /tmp   挂载容器的位置
ADD kitty-generator-1.0.0.jar app.jar   宿主机器的jar文件 移动到 容器的jar文件 
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]  容器执行的命令

EXPOSE 9000 爆漏端口 下面docker run -p 就不需要使用了,
EXPOSE 9092 写多个就会暴露多个端口

若要执行调优内存:加参数如下

Docker 多模块项目打包

 


 

2:POM.xml配置 加入docker:build插件

 <artifactId>kitty-generator</artifactId>  此处和下面${project.artifactId} 对应
<version>${project.version}</version>
<packaging>jar</packaging> 此处改为jar包方式
<properties>
   *****
<docker.image.prefix>kitty</docker.image.prefix> 此处和下面${docker.image.prefix} 对应
</properties>

#下面为jar方式.
    <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- Docker maven plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> </plugins>

 

 

 

在父模块打包

mvn clean install package -Dmaven.test.skip  

 

在子模块执行生成镜像

mvn docker:build -Dmaven.test.skip

Docker 多模块项目打包

 

启动镜像

docker run -itd -p 9000:9000 kitty/kitty-generator

 -it  可以交互进入容器

-d   后台运行

-p 端口映射,若项目有多个端口,  -p 9000:9000 -p 9092:9092 写多个即可

 

上一篇:Docker可视化管理——Portainer


下一篇:HDFS-HA集群中客户端如何找到Active NameNode