Dockermavenalready

【Maven实战技巧】「插件使用专题」一起探讨一下用Maven的

2022-02-05  本文已影响0人  洛神灬殇

前提背景

大家都知道Spotify公司开源了一款docker的Maven插件:

开通docker的远程API,端口2375

我的系统是centos 7的

vi    /lib/systemd/system/docker.service

在ExecStart下,增加 -H tcp://0.0.0.0:2375


image

保存,然后输入以下命令,重新加载配置和重启

systemctl daemon-reload 
systemctl restart docker

注意:改完以后docker images 或者 docker ps 看看是否正常,要是卡住没反应那肯定是有问题了。

配置相关的Maven配置信息

 <plugin>
         <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
         <version>0.4.9</version>
        <configuration>
                   <tag>${project.version}</tag>
                   <!-- 镜像名称  -->
                   <imageName>${project.groupId}/${project.artifactId}</imageName>
                   <!-- docker远程服务器地址 -->
                   <dockerHost>http://服务器IP:2375</dockerHost>
                   <!-- Dockerfile文件存放目录 -->
                   <dockerDirectory>src/main/docker</dockerDirectory>
                   <resources>
                    <resource>
                        <directory>${project.build.directory}</directory>
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
       </configuration>
 </plugin>

配置Dockerfile文件

# Dockerfile
# 基于的镜像
FROM openjdk:8-jdk-alpine
# 安装字体,Captcha需要字体支持
RUN set -xe && apk --no-cache add ttf-dejavu fontconfig
VOLUME /opt/tmp
ADD projectname-1.0.0-SNAPSHOT.jar app.jar
# -Djava.security.egd=file:/dev/./urandom 可解决tomcat可能启动慢的问题
# 具体可查看:https://www.cnblogs.com/mightyvincent/p/7685310.html
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
# 对外端口
EXPOSE 8080

打包

使用 maven 中 package 重新生成jar文件

然后使用 maven 下的 Plugins ---dockerfile 中的build

image

编码运行

mvn clean package docker:build -Dmaven.test.skip=true

在docker镜像中可以看到

查看镜像:docker images

参考资料

https://www.cnblogs.com/fan-gx/p/11470687.html

上一篇 下一篇

猜你喜欢

热点阅读