栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

maven打包插件详解(更新maven包)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

maven打包插件详解(更新maven包)

开启docker远程访问 01、准备工作

创建一个springboot项目

02、创建Dockerfile

制作镜像

Dockerfile:它是一种自动构建镜像的一种自己,说白了:自己开发镜像机制

执行打包镜像命名

docker build -t='jdk1.8' .

.代表的就是:Dockerfile文件。jdk1.8:是镜像的名称

在项目根目录下创建Dockerfile文件。与target目录平齐。

#FROM java:8 设置基础镜像
FROM openjdk:8-jdk-alpine
#指定镜像创建者信息
MAINTAINER ksdpug
#切换工作目录
WORKDIR /
#创建执行目录
RUN mkdir -p /servers
# 切换指定命令
RUN cd /servers
# 传递参数,微服务打包的jar包名字
ARG JAR_FILE
# 将指定的JAR_FILE拷贝到 /servers/app.jar
COPY ${JAR_FILE}  /servers/app.jar
# 暴露指定的端口
EXPOSE 8082
# 执行发布命令
CMD ["nohup","java","-jar","/servers/app.jar","--server.port=8082","&"]

上面仅仅只是制作一个镜像,不是运行项目。

03、dockerfile-maven插件

在项目pom.xml文件的build中增加dockerfile-maven插件如下:



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.4.8
         
    
    com.pug.ksd
    spring-docker-demo
    0.0.1-SNAPSHOT
    spring-docker-demo
    Demo project for Spring Boot
    
        1.8
        example
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.projectlombok
            lombok
        

        
            org.springframework.boot
            spring-boot-configuration-processor
        

        
            org.springframework.boot
            spring-boot-starter-actuator
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    true
                
            
            
                com.spotify
                dockerfile-maven-plugin
                1.4.13
                
                    
                        default
                        
                            build
                            push
                        
                    
                
                
                    
                    ${project.artifactId}
                    
                    ${project.version}
                    
                    
                        
                        target/${project.build.finalName}.jar
                    
                
            
        
    


注意Dockerfile必须和target平齐,否则找不到jar。

04、镜像服务器的配置

参考配置地址:https://www.cnblogs.com/weiyiming007/p/10168733.html

打开docker文件
# 编辑docker
vim /lib/systemd/system/docker.service

修改此段

把上面的代码替换成下面的代码即可:

替换ExecStart

很多网站可能都是使用默认的端口是:2375。建议使用别的端口替代比如:2280

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2280 -H unix:///var/run/docker.sock

保存 :wq

重启配置和docker服务即可
systemctl daemon-reload && systemctl restart docker
配置环境变量
DOCKER_HOST=tcp://47.107.225.126:2280

配置POM文件

        ${project.artifactId}
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.5.8
                
                    true 
                
                
                    
                        
                            repackage
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-war-plugin
                3.1.0
                
                    false
                    ${project.artifactId}
                
            
            
                com.spotify
                dockerfile-maven-plugin
                1.4.13
                
                    
                        default
                        
                            build
                            push
                        
                    
                
                
     false
                    ${project.artifactId}
                    ${project.version}
                    
                       target/${project.build.finalName}.jar
                    
                
            
        
    
创建DockerFile文件
#FROM java:8 设置基础镜像
FROM openjdk:8-jdk-alpine
#指定镜像创建者信息
MAINTAINER KsdPug
#切换工作目录
WORKDIR /
#创建执行目录
RUN mkdir -p /servers
# 切换指定命令
RUN cd /servers
# 传递参数,微服务打包的jar包名字
ARG JAR_FILE
# 将指定的JAR_FILE拷贝到 /servers/app.jar
COPY ${JAR_FILE}  /servers/app.jar
# 暴露指定的端口
EXPOSE 8081
# 执行发布命令
CMD ["nohup","java","-jar","/servers/app.jar","--server.port=8081","&"]
执行推送命令
mvn clean package -Dmaven.test.skip=true dockerfile:build
05、关于IDEA打包的时候构建镜像读取不到系统环境变量更换的问题?

在开发中,如果你更换了服务器,可能会直接去改系统环境变量参数。这个改了以后你会发下如下两种状况:

在外部的cmd命令有效

但是在idea还是旧的docker服务。

原因是:idea工具命令行有缓存,必须手动的去同步一下环境变量。修改如下:

06、容器创建问题

难道还要我自己去创建容易吗?

手动图像化界面的方式, 01、在idea安装一个docker插件

02、创建一个docker服务

03、创建容器和运行容器

04、容器发布项目

未来只需要修改代码打包项目重新发布项目即可 05、如果名字太多可以删除原来的如下:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/776638.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号