springboot 适配ARM 架构

  1. 下载对应的maven    

    https://hub.docker.com/_/maven/tags?page=&page_size=&ordering=&name=3.5.3-alpine
    
    docker pull maven:3.5.3-alpine@sha256:4c4e266aacf8ea6976b52df8467134b9f628cfed347c2f6aaf9e6aff832f7c45

2、下载对应的jdk

https://hub.docker.com/_/openjdk/tags?page=&page_size=&ordering=&name=8u332

docker pull openjdk:8u332@sha256:a113091e38c3fa501056c435e8884dccc999569fa1be2b35be1cdee0502752c6

 docker save -o   自定义名称.tar   xxxx 下载的镜像

docker load -i  自定义名称.tar

docker tag xxxx:v1  xxxx:xxx:xxxx

3、jenkin打包  docker login 验证【通过jenkin构建的项目构建记录,找到回放

steps {
                withCredentials([usernamePassword(credentialsId: 'harbor-xxx', passwordVariable: 'HPASSWD', usernameVariable: 'HUSER')]) {
                    sh '''
                    docker build --build-arg BASE_IMAGE=reg.xxx.com/library/arm64/openjdk:8u332-nc -f xxx/Dockerfile -t reg.xxx.com/dev/xx-arm64:1.0 .
                    docker login reg.xxx.com -u $HUSER -p $HPASSWD
                    docker push reg.xxx.com/dev/xx-arm64:1.0
                    '''
                }
            }

完整的JenkinFile

pipeline {
    agent {
        docker {
            image 'reg.xxx.com/library/arm64/maven-arm64:3.5.3'
            args '-v /root/.m2:/root/.m2 -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/kubectl:/usr/bin/kubectl'
            label 'arm64'
        }
    }
    stages {
        stage('build') {
            steps {
                sh 'mvn clean package -U -P ${active_profile}'
            }
        }
        stage('deploy') {                                                                                   
        	steps {
                withCredentials([usernamePassword(credentialsId: 'harbor-xxx', passwordVariable: 'HPASSWD', usernameVariable: 'HUSER')]) {
                    sh '''
                    docker build --build-arg BASE_IMAGE=reg.xxx.com/library/arm64/openjdk:8u332-nc -f xxx/Dockerfile -t reg.xxx.com/dev/xx-arm64:1.0 .
                    docker login reg.xxx.com -u $HUSER -p $HPASSWD
                    docker push reg.xxx.com/dev/xx-arm64:1.0
                    '''
                }
            }
        }
    }
}

对应的DockerFile

ARG BASE_IMAGE
FROM ${BASE_IMAGE}
 
ADD target/xxx.jar  /opt/xxx.jar
 
WORKDIR /var/www/app

EXPOSE 7999

#环境变量 JAVA_OPTS DEBUG_OPTS JMX_OPTS SPRING_CONFIG 由k8s传入
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS $DEBUG_OPTS $JMX_OPTS -jar /opt/xxx.jar --spring.config.location=$SPRING_CONFIG" ]

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Paddle是一个流行的深度学习框架,它提供了大量的深度学习模型和算法,并支持在不同的硬件平台上进行运行。其中,Paddle可以适配ARM架构服务器,以下是关于此适配的详细回答。 首先,ARM架构服务器在最近几年逐渐流行起来,特别是在移动领域和物联网领域。它们通常具有更低的功耗和更高的能效,能够在相同功耗下提供更高的性能。为了满足日益增长的深度学习任务需求,将Paddle适配ARM架构服务器上是非常必要的。 在适配ARM架构服务器方面,Paddle采取了以下的措施: 1. 支持ARM架构:Paddle为ARM架构服务器提供了相应的软件支持,包括ARM64指令集的优化和ARM平台特定的编译工具链。通过这些支持,Paddle可以在ARM架构服务器上进行高效的模型训练和推理。 2. 高性能计算库:Paddle配备了高性能的计算库,例如Math库和BLAS库,它们针对ARM架构进行了优化。这些优化的库能够使得Paddle在ARM架构服务器上获得更好的性能,提高深度学习任务的效率。 3. 模型压缩和量化:针对ARM架构服务器上的资源有限的情况,Paddle还提供了模型压缩和量化的功能。通过模型压缩和量化,可以减小模型的体积和计算量,从而更好地适配ARM架构服务器的资源限制。 总而言之,Paddle适配ARM架构服务器的关键在于提供ARM架构的软件支持和优化,提供高性能计算库,并提供模型压缩和量化的功能。通过这些措施,Paddle可以在ARM架构服务器上实现高效的深度学习模型训练和推理,满足ARM架构服务器上的深度学习任务需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值