一种:直接拷贝jar到服务器部署
1.增加docker配置文件
新建Dockerfile文件,负责Docker的配置
FROM openjdk:21 #ENV timezone RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&;& echo 'Asia/Shanghai' >/etc/timezone # WORKDIR WORKDIR /app #Copy command, copy files or directories from the context directory to the specified path in the container COPY spring-monitoring.jar /app/spring-monitoring.jar #EXPOSE 18081 ENTRYPOINT ["java", "-jar", "-Xmx512m", \ "-XX:-OmitStackTraceInFastThrow", \ "spring-monitoring.jar", "--logging.file.path=/app"] #"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005",\
2.上传jar包到远程目录:
创建目录命令:mkdir -p /apps/spring
把自己的jar包和dockerfile文件上传到创建的目录
3.build新的镜像
docker build -t dtb/spring-monitoring:1.0 . docker images #查看刚构建的镜像
4.启动容器:
docker run -d --name monitoring --restart always --net host dtb/spring-monitoring:1.0
二种:SpringBoot 通过maven插件实现docker镜像打包
此方法需要开启远程访问2375 端口不太安全,如果需要安全的话还需要Docker启用TLS加密
这里暂不做介绍
三种:idea 链接docker直接构建镜像启动容器
在项目根目录下增加docker配置文件
FROM openjdk:21 #ENV timezone RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&;& echo 'Asia/Shanghai' >/etc/timezone # WORKDIR WORKDIR /app #Copy command, copy files or directories from the context directory to the specified path in the container COPY target/spring-monitoring.jar /app/spring-monitoring.jar #EXPOSE 18081 ENTRYPOINT ["java", "-jar", "-Xmx512m", \ "-XX:-OmitStackTraceInFastThrow", \ "spring-monitoring.jar", "--logging.file.path=/app"]
下载插件
运行配置
点击服务器 三个点
点击加号,选ssh,ssh后面的三个加号配置链接服务器
这里的身份验证类型是密码
Only key-pair ssh auth type is supported for docker connections
刚才使用ssh账号密码的方式,docker链接需要用ssh key
点测试连接 输入登录用户的密码
点确定
可以添加不同的运行选项,包括绑定端口、绑定挂载、运行选项等
添加执行前编译
选择工作目录(当前自己项目的目录)及填写命令行,命令:clean package -U -DskipTests
执行
成功
到此这篇关于SpringBoot项目Docker部署三种方式的文章就介绍到这了,更多相关SpringBoot Docker部署内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!