SpringBoot项目Docker部署三种方式
一种:直接拷贝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部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java中POST、GET、@RequestBody和@RequestParam区别详析
在前后端传json数据进行交互的时候,同学们会经常用到的两个注解,@RequestBody和@RequestParam主要是用来接收前端传给后端的json数据,下面这篇文章主要给大家介绍了关于Java中POST、GET、@RequestBody和@RequestParam区别的相关资料,需要的朋友可以参考下2022-10-10
Springboot 如何使用BindingResult校验参数
这篇文章主要介绍了Springboot 如何使用BindingResult校验参数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-01-01
MybatisPlus实现insertBatchSomeColumn进行批量增加
本文主要介绍了MybatisPlus实现insertBatchSomeColumn进行批量增加,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-03-03
在IDEA中配置Selenium和WebDriver的具体操作
在自动化测试领域Selenium是一款非常流行的开源工具,它支持多种浏览器,并提供了丰富的API供开发者使用,而WebDriver则是Selenium的一个重要组件,它负责驱动浏览器执行测试脚本,这篇文章主要给大家介绍了在IDEA中配置Selenium和WebDriver的具体操作,需要的朋友可以参考下2024-10-10


最新评论