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

news2024/11/17 10:05:52

一、前言

在腾讯云新买的洁白如新的云服务器,想要使用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项目就算大功告成了。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/642203.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试进阶知识 —— 自动化测试总结

自动化测试 自动化测试的定义:使用一种自动化测试工具来验证各种软件测试的需求,它包括测试活动的管理与实施、测试脚本的开发与执行。 自动化测试只是测试工作的一部分,是对手工测试的一种补充; 自动化测试绝不能代替手工测试;多数情况下&a…

怎样高效率备考PMP

一方面由于这些考试的知识,在准备考试前我们大部分很少接触,大部分人考试的目的也未必是感兴趣,更多是因为考试结果能给我们带来的收益。因此长时间的学习不熟悉甚至不感兴趣的很容易疲倦,这不像我们工作或生活中的一些技能&#…

怎样用U盘重装Win10系统?用U盘重装Win10系统教程

怎样用U盘重装Win10系统?有些新手用户在问怎样用U盘才能完成Win10系统的重装,这时候用户需要准备一个U盘、一个能够正常联网的电脑,然后按照以下分享的用U盘重装Win10系统教程操作,就能轻轻松松完成Win10系统的重装。 准备工作&am…

482576-74-9,Fmoc-Thr(Ac4Manα1-2Ac3Manα1-2Ac3Manα)-OH,肽链中可以糖基化的主要是Ser和Thr

【产品描述】 Fmoc-Thr(Ac4Manα1-2Ac3Manα1-2Ac3Manα)-OH(CAS:482576-74-9)中肽链中可以糖基化的主要是Ser和Thr,此外还有酪氨酸、羟赖氨酸和羟脯氨酸糖基化修饰的糖肽,链接的位点是这些残基侧链上的羟基氧原子。连接的糖为半乳…

Element常用组件之 表单组件 form

1. 建立form.vue <template><el-form ref"form" :model"form" label-width"80px"><el-form-item label"活动名称"><el-input v-model"form.name"></el-input></el-form-item><el-f…

Pandas的窗口函数rolling和expanding用法说明

Pandas的窗口函数rolling和expanding 1、rolling 移动窗口 rolling() 移动窗口函数&#xff0c;它可以与 mean、count、sum、median、std 等聚合函数一起使用。为了使用方便&#xff0c;Pandas 为移动函数定义了专门的方法聚合方法&#xff0c;比如 rolling_mean()、rolling_…

ArduPilot之H743自动PID调节

ArduPilot之H743自动PID调节 1. 源由2. 涉及参数2.1 AUTOTUNE_*2.2 RCx_OPTION 3. 自动校准3.1 预准备3.2 参数配置3.3 操作步骤 4. 实操&总结5. 参考资料6. 补充视频 1. 源由 ArduCopter可以自动通过算法来对PID进行调优&#xff0c;不过这里有个前提是模型噪声要比较少。…

Mysql数据库的初体验

数据库管理系统是一个由因相互关联的数据的集合和一组用访问这些数据的程序组成&#xff0c;这个数据集合通常称作数据库&#xff0c;其中包含了关于某个企业的信息。DBMS的主要目标就是提供一种可以方便高效的存取数据库信息的途径。 一、数据库的基本概念 1.数据库的组成 ①…

一文让你了解appium自动化的工作原理

目录 前言&#xff1a; 一、Appium加载的过程图解 二、初步认识appium工作过程 三、bootstrap介绍 四、所使用的技术 五、Capabilities 六、自我理解的工作原理 前言&#xff1a; Appium是一个流行的开源自动化测试框架&#xff0c;支持移动应用程序的自动化测试。 一…

Varnish开源HTTP反向代理缓存服务器

第三阶段基础 时 间&#xff1a;2023年6月13日 参加人&#xff1a;全班人员 内 容&#xff1a; Varnish 目录 Varnish 端口号&#xff1a;TCP/6081 TCP/6082 配置文件&#xff1a;/etc/varnish/default.vcl 安装部署&#xff1a; 测试功能&#xff1a; Varnish V…

6月14日晚 19:00公开课直播 | 入门必看:40min 掌握低代码基础功能

大家好&#xff0c;新一期「ONEIN 公开课」要和大家见面啦&#xff01; Onein 公开课介绍 Onein 公开课&#xff0c;是万应低代码开设的直播课堂&#xff0c;专注低代码领域&#xff0c;希望帮助每一位用户更好的使用万应低代码。 随着低代码的兴起&#xff0c;低代码这一名词…

从小白到大神之路之学习运维第39天---第三阶段---MongoDB非关系型数据库(概述、安装、设置管理员、简单操作、配置文件说明,备份和还原)

第三阶段基础 时 间&#xff1a;2023年6月13日 参加人&#xff1a;全班人员 内 容&#xff1a; 目录 MongoDB概述 端口号&#xff1a;TCP/27017 配置文件&#xff1a;/etc/mongod.conf MongoDb安装部署 MongoDB设置密码 MongoDB操作命令与说明 配置文件说明 备份操作 1. 热备…

chatgpt赋能python:Python怎么居中对齐

Python怎么居中对齐 在Python中&#xff0c;输出对齐是一项基本功能。当我们想要打印表格或美化输出时&#xff0c;居中对齐是一个常见的要求。本文将介绍如何使用Python进行居中对齐&#xff0c;以及一些相关的技术和应用。 如何居中对齐&#xff1f; 要在Python中实现居中…

TypeScript知识汇总

一、ts简介 1、什么是ts 2、ts增加了什么 二、TypeScript开发环境搭建 注&#xff1a;如果npm i运行报错&#xff0c;需要以管理员身份运行一次&#xff0c;以上主要就是tsc xxx.ts 三、ts的基本类型——ts相当于是给js可以指定类型 //number、string、boolean等常用类型&am…

[游戏开发][Unreal]项目启动

新建项目时会有 [项目名].uproject文件&#xff0c;鼠标右键该文件点击Switch Unreal Engine version 如果你的 [项目名].uproject文件是个纯白的图标&#xff0c;证明没有关联到Unreal&#xff0c;该怎么办呢 使用搜索工具搜UnrealVersionSelector.exe 或者直接去你的UE5安装目…

在华为外包待了3年,我秃了,但没变强...

我25岁&#xff0c;中级测试&#xff0c;外包&#xff0c;薪资13.5k&#xff0c;人在上海。内卷什么的就不说了&#xff0c;而且人在外包那些高级精英年薪大几十的咱也接触不到&#xff0c;就说说外包吧。 假设以我为界限&#xff0c;25岁一线城市13.5k&#xff0c;那22-24大部…

J.A.Woollam光谱型椭偏仪电源维修M-2000XI

M-2000系列光谱椭圆仪是为满足薄膜表征的需求而设计的。RCE技术结合了旋转补偿器椭圆仪和CCD检测&#xff0c;在几分之一秒内收集整个光谱&#xff08;数百个波长&#xff09;&#xff0c;并有多种配置。擅长于从原位监测和过程控制到大面积均匀性绘图和通用薄膜表征的椭偏仪。…

mac m1(arm)安装brew(Homebrew)

安装 使用国内脚本安装 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"安装完成后使用brew安装tcping试试 brew install tcping发现报错 Error: Cannot install in Homebrew on ARM processor in Intel default prefi…

应急指挥调度系统之指挥中心是由什么构成的

应急指挥调度系统是应急管理的重要组成部分&#xff0c;而指挥中心则是应急指挥系统的控制中枢&#xff0c;可以说是应急指挥调度系统体系中的大脑&#xff0c;应急管理中的所有应急指令都会从指挥中心发出&#xff0c;作为应急指挥系统的控制中枢&#xff0c;应急指挥调度系统…

5款国产优质软件,满足工作效率提升需求,你值得拥有

不少人对国产软件的印象&#xff0c;还停留在各种弹窗、各种捆绑&#xff0c;想要提升工作效率&#xff0c;只能使用国外的软件。今天给大家分享5款国产优质软件&#xff0c;不仅没有各种弹窗、捆绑&#xff0c;还能满足工作效率提升需求。 亿图脑图MindMaster MindMaster是一款…