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

SpringCloud 实战|10.SpringCloud 实现docker 镜像部署-提升项目的生产力

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

SpringCloud 实战|10.SpringCloud 实现docker 镜像部署-提升项目的生产力

本地仓库配置 安装本地仓库
docker run -itd -v /home/registry:/var/lib/registry -p 5000:5000 --restart=always --privileged=true --name registry registry:latest
配置私有仓库
vim /etc/docker/daemon.json
{
  "insecure-registries": ["192.168.64.6:5000"]
}
systemctl daemon-reload
systemctl restart docker

http://192.168.64.6:5000/v2/_catalog

开启docker 远程连接
vim /lib/systemd/system/docker.service

# 修改ExecStart为:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H 0.0.0.0:2375
配置项目 定义变量

在父级项目的pom->properties 添加如下配置
docker.host:docker安装的主机ip
docker.registry.repository:上面搭建的本地仓库主机ip+端口号
docker.maven.plugin.version:插件版本

  http://192.168.64.2:2375
  192.168.64.2:5000
  1.0.0
添加编译插件

在父级项目的pom->build->pluginManagement->plugins添加如下配置

     
                    com.spotify
                    docker-maven-plugin
                    ${docker.maven.plugin.version}
                    
                        
                            build-image
                            package
                            
                                build
                                push
                            
                        
                    
                    
                        ${docker.registry.repository}/${project.artifactId}:${project.version}
                        ${docker.host}
                        java:8
                        ["java", "-jar","-Dspring.profiles.active=prod","/${project.build.finalName}.jar"]
                        
                        
                            
                                /
                                ${project.build.directory}
                                ${project.build.finalName}.jar
                            
                        
                    
                
完整配置


    4.0.0

    com.ams
    ams-cloud
    1.0.0
    
        ams-auth
        ams-gateway
        ams-common
        ams-admin
        ams-demo
    
    pom
    
        org.springframework.boot
        spring-boot-starter-parent
        2.5.4
         
    
    
        2.5.4
        2020.0.3
        2021.1
        1.0.0
        5.5.8
        8.0.19
        1.2.4
        http://192.168.64.2:2375
        192.168.64.2:5000
        1.0.0
        1.3.7
        3.4.3
    
    
        
            org.projectlombok
            lombok
        
        
            cn.hutool
            hutool-all
            ${hutool.version}
        
    
    
        
            
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            

            
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                ${spring-cloud-alibaba.version}
                pom
                import
            

            
                mysql
                mysql-connector-java
                ${mysql.version}
            

            
                com.alibaba
                druid-spring-boot-starter
                ${druid.version}
            

            
                com.baomidou
                mybatis-plus-boot-starter
                ${mybatis-plus.version}
            
        
    
    
        
            
                
                    org.springframework.boot
                    spring-boot-maven-plugin
                
                
                    com.spotify
                    docker-maven-plugin
                    ${docker.maven.plugin.version}
                    
                        
                            build-image
                            package
                            
                                build
                                push
                            
                        
                    
                    
                        ${docker.registry.repository}/${project.artifactId}:${project.version}
                        ${docker.host}
                        java:8
                        ["java", "-jar","-Dspring.profiles.active=prod","/${project.build.finalName}.jar"]
                        
                        
                            
                                /
                                ${project.build.directory}
                                ${project.build.finalName}.jar
                            
                        
                    
                
            
        
    

添加打包方式到每个子模块中

将以下加入到每个子模块的pom中

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
                com.spotify
                docker-maven-plugin
            
        
    
打包验证
  • 1.执行package
  • 2.完成推送
  • 3.打开浏览器访问 ttp://192.168.64.6:5000/v2/_catalog
  • 4.如果返回了我们项目的镜像,则说明docker打包成功
  • 5.在docker 主机上 执行命令 docker run 192.168.64.2:5000/ams-gateway(以网关作为验证)
  • 6.如果执行成功,说明镜像有效
docker 常见错误解决 错误1

rquest to {}->unix://localhost:80: No such file or directory
解决方案:
1.确认imageName 是否包含仓库地址(需要包含)

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

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

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