sheng的学习笔记-docker部署springboot

部署文章目录:目录

docker部署,原理,命令,可以参考:docker原理图,部署,命令

目录

将springboot部署到docker中

遇到过的问题:

pom配置

操作步骤

生成jar

构建镜像

查看镜像docker images

运行镜像

查看运行的镜像


将springboot部署到docker中

遇到过的问题:

  • 生成出来的jar包缺少依赖JAR的
  • 启动时找不到主类
  • 容器启动后主机拒绝

pom配置

pom.xml的文件,下面红色的,是docker相关的



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.7.10-SNAPSHOT
         
    
    com.sheng
    myDemo
    0.0.1-SNAPSHOT
    myDemo
    Demo project for Spring Boot
    
        1.8
        2021.0.5
        1.4.10
        springboot
    
    
        
            org.springframework.boot
            spring-boot-starter-actuator
        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
        
            org.springframework.cloud
            spring-cloud-starter-loadbalancer
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        

        
            org.springframework.boot
            spring-boot-configuration-processor
            true
        
        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.springframework.security
            spring-security-test
            test
        
        
            junit
            junit
            test
        

        
            com.alibaba
            fastjson
            1.2.47
        
        
            org.slf4j
            slf4j-simple
            1.7.25
            compile
        
        
            com.google.code.gson
            gson
        
        
            org.apache.commons
            commons-lang3
            3.4
        
        
            com.spotify
            dockerfile-maven-plugin
            ${dockerfile-maven-plugin.version}
        

    
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        
            
            
                com.spotify
                dockerfile-maven-plugin
                ${dockerfile-maven-plugin.version}
                
                    
                        default
                        
                            
                            
                        
                    
                
                
                    
                    ${project.basedir}/docker
                    
                    ${docker.image.prefix}/demo
                    
                    v1
                    
                    
                
            
            
                
                org.springframework.boot
                spring-boot-maven-plugin
                
                    
                        
                            org.projectlombok
                            lombok
                        
                    
                    true
                    ${start-class}
                
                
                    
                        
                            repackage
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-surefire-plugin
                
                    true
                
            
        
    
    
        
            spring-milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
        
            spring-snapshots
            Spring Snapshots
            https://repo.spring.io/snapshot
            
                false
            
        
    
    
        
            spring-milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
        
            spring-snapshots
            Spring Snapshots
            https://repo.spring.io/snapshot
            
                false
            
        
    

操作步骤

生成jar

先maven上点击clean compile package

在target生成JAR包(myDemo-0.0.1-SNAPSHOT.jar)

把它用解压缩包打开,看看MANIFEST.MF中有没有主函数入口,有红圈的就行,不然无法启动,会报错no main manifest attribute, in /xxxxx.jar异常


将 F:\workspace\arch\spring-cloud-demo\target\myDemo-0.0.1-SNAPSHOT.jar 拷贝到 F:\workspace\arch\spring-cloud-demo\docker
F:\workspace\arch\spring-cloud-demo\docker 文件夹中应该有Dockerfile 和 myDemo-0.0.1-SNAPSHOT.jar

然后用bash做docker命令

docker images  查看镜像

构建镜像

 docker build -t springboot/demo .

 最后的警告没有影响

查看镜像docker images

删除镜像:只需删除镜像对应的image id即可,例如删除java执行命令: docker rmi d23bdf5b1b1b

  若存在两个镜像的image id相同,需要通过REPOSITORY+TAG删除,例如删除java执行命令: docker rmi java 8

  若报删除的镜像存在依赖镜像错误,则需通过 docker rm 【依赖镜像id】,命令依次删除依赖

  若镜像已经运行,需要先停止运行再删除
 

运行镜像

docker run -p 8005:8005 -d springboot/demo

-p表示端口映射,此时将服务器中的8005端口映射到容器中的8005端口

查看运行的镜像

 docker ps

查看所有容器,包含未运行的:docker ps -a

  停止运行镜像:docker stop ceb5f1a71a29

 11.浏览器访问 http://192.168.99.100:8005/ 出现项目页面,即发布成功

 

你可能感兴趣的:(部署,docker,spring,boot,容器)