源码时代Java干货分享|手把手教你用maven构建docker镜像

本是古典 何须时尚 2023-06-23 10:52 17阅读 0赞

一 、原理分析
image
由于我们开发pc上面没有docker,所以没办法直接打包镜像,所以要调用远程主机docker进行。并且远程主机docker默认不支持远程访问,所以需要开启远程。然后我们在项目中以docker maven插件方式进行打包镜像。

具体步骤如下:
1 远程主机docker支持远程访问
2 本地项目配置maven docker插件,并允许打包镜像

二 远程主机docker支持远程访问

vi /lib/systemd/system/docker.service
其中ExecStart=后添加配置 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
修改后如下(2)刷新配置,重启服务
systemctl daemon-reload
systemctl restart docker
docker start registry

172.16.4.194:2375

防火墙对该端口放行
firewall-cmd —permanent —zone=public —add-port=2375/tcp
systemctl restart firewalld
image
三 本地项目配置maven docker插件,并允许打包镜像

3.1 配置docker maven插件

eureka

org.springframework.boot
spring-boot-maven-plugin

cn.itsource.hrm.EurekaServer7001Application

repackage

com.spotify
docker-maven-plugin
0.4.13

172.16.4.194:5000/ p r o j e c t . a r t i f a c t I d : {project.artifactId}: project.artifactId:{project.version}
jdk1.8
[“java”, “-jar”, “/ p r o j e c t . b u i l d . f i n a l N a m e . j a r “ ] < / e n t r y P o i n t > < r e s o u r c e s > < r e s o u r c e > < t a r g e t P a t h > / < / t a r g e t P a t h > < d i r e c t o r y > {project.build.finalName}.jar”] / project.build.finalName.jar”]/{project.build.directory}

${project.build.finalName}.jar

http://172.16.4.194:2375

以上配置会自动生成Dockerfile

在这里插入图片描述
FROM jdk1.8
ADD app.jar /
ENTRYPOINT [“java”,”‐jar”,”/app.jar”]
3.2 打包镜像并运行容器
3.2.1 打包
在windows的命令提示符下,进入工程hrm_eureka_7001所在的目录
进入Eureka 所在的目录,输入以下命令,进行打包和上传镜像
mvn docker:build ‐DpushImage

3.2.2 查看镜像
进入宿主机 , 查看镜像
在这里插入图片描述
输出如上内容,表示微服务已经做成镜像
浏览器访问 http://192.168.184.141:5000/v2/\_catalog ,输出
{“repositories”:[“hrm_eureka”]}
3.2.3 启动容器
docker run ‐di ‐‐name=eureka ‐p 7001:7001
192.168.184.141:5000/hrm_eureka:1.0‐SNAPSHO

发表评论

表情:
评论列表 (有 0 条评论,17人围观)

还没有评论,来说两句吧...

相关阅读