一种:直接拷贝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
docker安装及docker常用命令
二种: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
执行
成功