使用Docker从0开始在Linuex部署springboot项目(图文并茂)

一、前言

在腾讯云新买的洁白如新的云服务器,想要使用docker去部署springboot项目,特此记录!

二、安装jdk

参考博客:https://blog.csdn.net/weixin_45853881/article/details/123402891

2.1 检查jdk

直接在腾讯云平台登陆云服务器之后,执行下面的命令:

java -version

2.2 检查jdk自带的安装包

rpm -qa | grep java

由于是刚买的腾讯云服务器,所以里面是空的,也就不存在卸载jdk一说了,下面就直接开始安装了。

2.3 安装jdk

安装需要确保有良好的网络环境就可以。

2.3.1 查看云端目前支持安装的jdk版本:

yum search java|grep jdk

在这里插入图片描述

2.3.2 安装jdk11

sudo yum install -y java-11-openjdk

这里需要加一下sudo,安装需要root权限
在这里插入图片描述

在这里插入图片描述
看到最后有一个complete!就算安装完成了,我们再检查一下版本!
在这里插入图片描述
这样就安装完成了!

三、springboot项目打包

在IDE中,直接右键双击package就可以看到打包的结果了
在这里插入图片描述
打好的包
在这里插入图片描述
验证一下打的包是否能正常启动:进入打好的包的路径下,执行:

java -jar access-control-0.0.1-SNAPSHOT.jar

在这里插入图片描述
项目可以正常启动,再看下Apifox上能不能正常访问:
在这里插入图片描述
这样说明程序可以正常运行,接着就把包挪到服务器上。

四、上传jar包和编写Dockerfile

Dockerfile文件内容:

# 设置JAVA版本
FROM openjdk:11
WORKDIR /home/xxxx/project/access_control
VOLUME /tmp
COPY *.jar access.jar
ENV JAVA_OPTS="\
-server \
-Xms256m \
-Xmx512m \
-XX:MetaspaceSize=256m \
-XX:MaxMetaspaceSize=512m"
EXPOSE 8081
ENTRYPOINT [ "sh", "-c", "java -jar $JAVA_OPTS /home/xxxx/project/access_control/access.jar"]

在这里插入图片描述

这个文件中的工作目录WORKDIR: /home/xxxx/project/access_control就是我自己建的目录,可以根据自己的需要创建jar所在的目录。

把本地的jar上传的话,可以直接使用腾讯云中的rz命令就可以了,会弹出来本地的文件夹,就可以把本地的jar传到服务器上了。

这里要注意,Dockerfile没有文件后缀:
在这里插入图片描述

五、安装docker和构建项目

毫无疑问,我还没有装过docker,不信可以先执行docker命令试试:
在这里插入图片描述

5.1 设置docker镜像源

下面的命令全部复制后,一起执行

sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache --timer

5.2 安装docker

sudo yum install -y docker-ce

在这里插入图片描述
在这里插入图片描述

5.3查看docker版本

docker -v

在这里插入图片描述
这样就安装完成了。

5.4查看防火墙状态

systemctl status firewalld

在这里插入图片描述
我们的这个防火墙是未激活状态,所以不用关闭了,如果是active状态,就需要关闭防火墙了:

systemctl stop firewalld

5.5 启动docker

 systemctl start docker

查看docker的进程

 ps -ef|grep docker

进程

5.6 构建镜像:

 docker build -f ./Dockerfile -t access .

在这里插入图片描述
查看当前镜像
在这里插入图片描述

5.7 启动容器后处理服务器的端口开放问题

sudo docker run -d --name=access -p 8081:8081 access

在这里插入图片描述

5.8 查看容器列表

在这里插入图片描述
这里说明一下端口的问题:第一个8081是对外访问的端口,第二个8081是服务中的application.properties中配置的8081端口。

5.9 查看启动日志并访问

sudo docker logs 容器id

在这里插入图片描述
看下能否正常访问:

curl --location --request POST 'http://localhost:8081/access/dept/getTree'

在这里插入图片描述
和本地的访问结果是一样的,说明部署的没有问题。

接着我们再使用Apifox进行访问看看:
在这里插入图片描述
访问超时了,这是由于腾讯云上没有开通端口权限。

5.10 开通端口权限

在腾讯云服务器-服务器-防火墙-添加规则后,应用类型选择【全部TCP】后点击【确定】
在这里插入图片描述
再次访问:
在这里插入图片描述
至此,在linux上使用docker从0部署springboot项目就算大功告成了。

---------你知道的越多,不知道的越多------------

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值