阿里云服务器通过宝塔面板及Docker容器部署端口访问的SpringBoot项目(亲测有效)(数次补充)

前置

JDK
阿里云的服务器
SpringBoot项目

服务器

先在服务器开启某一个端口,后面会根据这个端口访问你的网站
在这里插入图片描述

宝塔安装

注册登录 宝塔主页
在这里插入图片描述
安装套件默认就行
在这里插入图片描述
等待安装完成后先别关闭,要记录信息(时间根据自己的网速决定,我的用了26分钟)
这种就是安装好了,记得保存信息,只提供一次(如果忘记翻看最后补充内容)

在这里插入图片描述
输入网址登录后是这种界面就证明宝塔界面安装好了,可视化面板在这里插入图片描述软件商店安装这些软件在这里插入图片描述

JDK镜像

终端输入命令
这里先别急,先执行第一行,等pull完了,看看镜像名是openjdk和版本TAG是latest就行了,后面那句不记得我有没有执行了
在这里插入图片描述

docker pull openjdk

docker pull openjdk:8u201-jdk-alpine

可以先跳过下面的JDK部分,如果不行再回来安装JDK(不麻烦)

JDK

下载8版本的JDK

JDK下载(百度网盘)(185M))(提取码1003)

JAVA安装及环境配置

解压

在这里插入图片描述

配置

终端输入命令,选择Edit模式(输入E)

vi /etc/profile

在最后添加下面的代码块(根据自己的jdk路径修改)
Ins进入插入模式
插入之后先按ESC,再输入:wq就可以保存退出了

export JAVA_HOME=/usr/lib/jdk/jdk1.8.0_241
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

立即生效配置

source /etc/profile

终端查看JAVA版本
在这里插入图片描述
如果出现无权限报错(-bash: /usr/lib/jdk/jdk1.8.0_241/bin/java: Permission denied-bash: /usr/lib/jdk/jdk1.8.0_241/bin/java: Permission denied),可以使用

chmod +x /usr/java/jdk1.8.0_241/bin/java
chmod +x /usr/java/jdk1.8.0_241/bin/javac

这个解决办法

SpringBoot项目的打包上传部署

打包

在这里插入图片描述

上传

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
www/demo是我的上传的jar存放路径
在这里插入图片描述
把jar包拖进去,等待上传
在这里插入图片描述
编写Dockerfile文件
在这里插入图片描述
新建Dockerfile文件,具体语法不太清楚,可以百度专门的介绍

# 基础镜像
FROM openjdk:latest

# 作者信息
MAINTAINER achong

# 将当前目录下的jar包复制到容器里(xq-0.0.1-SNAPSHOT.jar修改为你的jar包名字)
COPY *.jar  /xq-0.0.1-SNAPSHOT.jar

#设置时区
#RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo ‘Asia/Shanghai’ >/etc/timezone

# 提示当前项目在容器运行的端口
CMD ["========server.port = 8080=========="]

# 暴露运行的端口
EXPOSE 8080

# 执行jar包
ENTRYPOINT ["java","-jar","/xq-0.0.1-SNAPSHOT.jar"]

编辑完了记得点击右上角的更新同步按钮
在这里插入图片描述

部署

在这里插入图片描述

生成镜像

# docker build -t 镜像名称:标签名 .
docker build -t demo:v1 .

我的执行过程
在这里插入图片描述

查看镜像

dockers images

在这里插入图片描述

启动镜像

这行命令的解释可以自己查查

docker run --name demo --restart=always -d -p 8080:8080 demo:v1

这种就是部署好了
在这里插入图片描述

查看容器启动情况

docker ps

在这里插入图片描述
在Docker界面可以看到容器已经启动成功了
在这里插入图片描述
大功告成,可以使用ip地址加端口访问了(三天,搞了三天)
加域名访问的话还没开始,因为我域名还没备案,不让我解析
在这里插入图片描述

补充

删除镜像或容器

第一种

docker rmi 镜像ID(可使用docker images查看镜像ID)

第二种

在这里插入图片描述

如果内存使用过大的话

可以在阿里云实例那里重置云盘或者更换操作系统
在这里插入图片描述

报错

这个错误真的折磨人

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/loader/JarLauncher has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)

这种是版本错误,可以重新安装jdk,我是通过安装我本地的jdk上去,再docker pull openjdk后重新docker build …,docker run …才可以的

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值