Springboot项目打包上传到Docker仓库

前言

实现Springboot项目打包为镜像推送到Docker远程仓库.

Springboot项目部署到K8s|LYZ-ling云智

环境准备

1、Docker使用的Desktop Docker

2、Desktop Docker内登录远程Docker仓库

3、Springboot项目

项目简介

我用的项目是自己手写的一个简单的Springboot项目,项目结构如下:

图片[1]|Springboot项目打包上传到Docker仓库|LYZ-ling云智

本项目是一个很简单的HelloWorld项目,启动项目,在浏览器访问localhost:8080/hello返回你好!成功啦!表示启动成功。

Controller

@RestController
public class HelloWorldController {
@RequestMapping("/hello")
public String hello(){
return "你好!成功啦!";
}
}

Dockerfile

# Docker image for springboot application
# VERSION 0.0.1

### 基础镜像,使用alpine操作系统,openjkd使用8u201
FROM openjdk:8u201-jdk-alpine3.9

#系统编码
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8

#声明一个挂载点,容器内此路径会对应宿主机的某个文件夹
VOLUME /tmp

#暴露8080端口
EXPOSE 8080
#应用构建成功后的jar文件被复制到镜像内,名字也改成了app.jar
ADD target/*.jar /app.jar

#启动容器时的进程
ENTRYPOINT ["java","-jar","/app.jar"]

本地打包

package

使用idea自带的package将项目打成jar包

图片[2]|Springboot项目打包上传到Docker仓库|LYZ-ling云智

 直接点击package 选项,可以直接在target文件夹里生成jar包。

图片[3]|Springboot项目打包上传到Docker仓库|LYZ-ling云智

打包镜像

进入项目根目录执行下面的命令:

#不要漏了后面的 .
Docker build -t   hello1.0   .

使用docker images查看生成的镜像:

图片[4]|Springboot项目打包上传到Docker仓库|LYZ-ling云智

PUSH镜像

本地仓库生成镜像以后推送镜像到远程仓库(项目仓库)。

依次执行下面的命令👇🏻

1、登录自己的远程仓库

docker login

2、给镜像标记Tag,标注版本,比如我打成V1版本

docker  tag hello1.0  lyzplus/springboot-hello1.0:v1

3、push镜像到容器里

docker push lyzplus/springboot-hello1.0:v1

图片[5]|Springboot项目打包上传到Docker仓库|LYZ-ling云智

验证

1、本地测试远程镜像是否可以正常启动

docker run --name hellodocker  -p 8085:8080  lyzplus/springboot-hello1.0:v1

命令解释:用于在容器中运行一个名为hellotest的容器。命令的作用是将容器的8080端口映射到主机的8085端口,并使用lyzplus/springboot-hello1.0镜像来创建容器。

2、访问localhost:8085/hello

浏览器显示你好!成功啦!

到此,一个Springboot项目成功的打包成镜像推送到远程镜像仓库并且能被正常使用并启动。

源码下载

带Jar包(不使用clear即可),无限速下载:

© 版权声明
THE END
喜欢就支持一下吧
点赞17 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容