Docker创建Spring容器【方便服务迁移】

news2024/11/30 14:30:49

📃目录跳转

    • 📚简介:
      • 🎃 1.上传jar包
      • 🎉2.创建Dockerfile文件
      • 🗺️3.生成容器
      • 🍥4.查看本地镜像
      • 🚀5.运行镜像
      • 🔭6.使用工具访问接口
      • 🏆总结

📚简介:

        当我们的系统为了可以承载更多的访问量我们通常会部署多台服务器,这个时候我们就拿安装jdk来说运行的环境总不能少吧!那么你就要在多台服务器上部署环境啥的,这个是少的来说如果还要安装Redis,RabbitMQ等中间件的情况下就会出现很多重复性的安装,这个时候我们就可以使用Docker容器来完成容器的迁移运行,把已经部署好的容器导出,然后再新的服务器上通过Docker命令导入进去运行关于Docker安装可以看往期内容

🎃 1.上传jar包

    我这边使用的是Xshell工具,至于用什么工具上传jar包到服务器都可以。创建一个目录用于存放jar包和Dockerfile文件
创建目录:

 mkdir net-verif

🎉2.创建Dockerfile文件

创建Dockerfile文件

touch Dockerfile

目录结构:
在这里插入图片描述

vim 编辑 Dockerfile文件

# FROM --- 获取基础镜像base image
# RUN --- 类似于执行 linux指令
# COPY --- 类似于linux copy指令      
# EXPOSE --- 声名容器对外暴露的端口
# CMD --- 执行命令 java -jar /opt/net-verif/net-verif.jar

FROM adoptopenjdk/openjdk8:latest
RUN mkdir /opt/net-verif
COPY net-verif.jar /opt/net-verif/
CMD ["java","-Duser.timezone=GMT+8", "-jar", "/opt/net-verif/net-verif.jar"]

在这里插入图片描述
保存退出

wq

🗺️3.生成容器

使用命令:

Docker build -f  ./Dockerfile -t  容器名称 .

在这里插入图片描述
在这里插入图片描述
完成:
在这里插入图片描述

🍥4.查看本地镜像

查看所有镜像命令:

Docker images 

在这里插入图片描述

🚀5.运行镜像

运行容器:

docker run -d -p 外网端口:容器端口(项目的端口号) --name 自定义运行容器名称 --restart=always 镜像名称

在这里插入图片描述
查看运行情况:

docker ps

可以看到容器在22秒前运行成功

docker ps

🔭6.使用工具访问接口

请求接口参数:

在这里插入图片描述
服务器项目日志输出结果:可以看出请求的内容和时间

在这里插入图片描述

🏆总结

        到这里Docker通过创建Dockerfile文件实现容器的创建到这里就告一段落,希望这篇文章对你有帮助,继续努力坚持每周写作,写作的目的不是为了可以得到多少荣誉,更多的是为了自己在未来的路上走的更远,锻炼自己的思维能力,没有人天生就是笨的,只要你肯付出,加倍的付出你总能在某天感谢之前勤奋的自己,共勉。

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

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

相关文章

网上预约挂号系统的设计与实现

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

si9000 单端(线)差分(动)线板层结构与阻抗计算

常见的单端(线)阻抗计算模式: Surface Microstrip 1B 在下图(表面,或暴露,微带)信号线暴露(空气)和参考电源或接地平面。根据电介质相对于迹的排列(在迹的下方或上方)对结构进行分类。下图显示了在信号轨迹(指定为1B)以下使用单一介电层的表…

elasticsearch数据存储结构,springboot集成elasticsearch

一、数据存储结构 结合数据库的结构理解起来就会比较清楚: 1)索引(Index)>数据库(Database)。 2)类型(Type)>表(Table)。 3)文档…

Ubuntu 20.04.05安装PCL-1.12.0

1、安装QT-5.9.9 链接: Ubuntu20.04安装、配置、使用、卸载QT5.9.9以及第一个编写QT程序. 或者 链接: 在ubuntu用命令安装和卸载qt4、qt5(亲测有效). 2、安装VTK-7.1.1PCL-1.12.0 链接: ubuntu20.04下安装pcl. 或者 链接: PCL1.12VTK7.1.1 && Ubuntu20.04.3VSCode(官…

Python一炮句搞定网页登录验证码自动输入

前言:本来是“账号密码”的登录方式,突然就增加了验证码输入,还30秒一变。 查看元素 链接为一个png图片文件,每半分钟一更新,意思就是慢了还不行。 思路:OCR识别图片中的…

【并发】Java并发线程池底层原理详解与源码分析(下)

【并发】Java并发线程池底层原理详解与源码分析(下) 前情回顾 上篇文章地址 【并发】Java并发线程池底层原理详解与源码分析(上)_面向鸿蒙编程的博客-CSDN博客线程池不允许使用 Executors 去创建,而是通过 ThreadPo…

浅析数据迁移工具Sqoop

title: Sqoop系列 第一章 Sqoop理论 1.1 概述 sqoop 是 apache 旗下一款“Hadoop 和关系数据库服务器之间传送数据”的工具。 导入(Import)数据:MySQL,Oracle 导入数据到 Hadoop 的 HDFS、HIVE、HBASE 等数据存储系统 导出&…

八、Gateway

文章目录一、Gateway网关1.网关的作用二、配置网关1.创建gateway模块2.引入依赖3.编写application.yml4.启动gateway模块,查看是否能访问user-service服务三、路由断言工厂Route Predicate Factory四、GatewayFilter(过滤器)1.添加过滤器方式…

IDEA2022用maven创建的Servlet项目

因为博主太菜太笨,总是记不住大佬教的步骤,写一篇博客记录一下。 有什么不对,或者疑惑可以请假这位大佬(没错就是那个被我问烦的大佬)ljj大佬 第一步:新建maven 新建Project 选择webapp 初始界面需要等待…

S32K144之ADC

一,S32K144的ADC介绍 1,ADC模块特性 S32K14x和S32K14xW包含两个12位ADC模块,ADC0和ADC1。 S32K11x包含一个12位的ADC模块,ADC0。 不同封装,ADC0和ADC1所包含的通道数不一样,LQFP100来说ADC0和ADC1分别有16…

Spark - RDD 算子介绍及使用 Scala、Java、Python 三种语言演示

一、RDD 的起源 在 RDD 出现之前, 当时 MapReduce 是比较主流的, 而 MapReduce 如何执行流程如下: 多个 MapReduce 任务之间只能通过磁盘来进行传递数据,很明显的效率低下,再来看 RDD 的处理方式: 整个过程是共享内存的, 而不需…

利用pycharm调试ssh远程程序,并实时同步文件

或许你的服务器由于设置问题,不能通过Vscode进行远程调试python程序,那么本篇文章提供了利用pycharm远程调试程序的方法,且使用的编译器可以是服务器中的虚拟环境的编译器,可以实时同步本地与服务器的文件内容。希望对你能够有所帮…

【Oracle系列1】Oracle 的connect权限和create session的区别

【Oracle系列1】Oracle 的connect权限和create session的区别 背景 oracle数据库新建用户之后是无法登录的,需要赋予connect角色或者create session权限。 注意: connect是角色不是权限,create session是权限不是角色。角色是权限的集合。…

c++中的结构体

结构体:属于用户自定义的数据类型,允许用户存储不同的数据类型 语法:struct 结构体名 {结构体成员列表};通过结构体创建变量的三种方式:1、struct 结构体名 变量名2、struct 结构体名 变量名{成员1值,成员…

第一个Shader程序

shader 很复杂,我学习的过程中也确实感受到了,需要会数学、图形学、编程语法等等知识。不如让我们直接看看 Shader 到底是什么?直接应用起来。或许没有那么复杂。 1、在场景中新建一个正方体,如下图 2、在 project 面板下新建一…

超级棒,使用 LIME 和 SHAP 可轻松解释机器学习模型的预测

在本文中,我将介绍两个可以帮助了解模型的决策过程的模型 LIME 和 SHAP。 作为数据科学家或机器学习从业者,将可解释性集成到机器学习模型中可以帮助决策者和其他利益相关者有更多的可见性并可以让他们理解模型输出决策的解释。 文章目录技术提升模型SH…

day02 redis

day02 Redis 第一章 Redis持久化机制 Redis的高性能是由于其将所有数据都存储在了内存中,为了使Redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘(文件)中,这一过程就是持久化。Redis 提供了一系列不同的持久化选项&#x…

MyBatis框架入门(含实例)

目录 1.MyBatis简介 2.ORM框架 3.数据持久化 4.Mybatis入门实战案例 4.1 下载mybatis的jar包 4.2 将jar包导入工程中 4.3 配置Mybatis的核心配置文件 4.3.1 MyBatis核心文件模板(mybatis-config) 4.3.2 mybatis-config模板的设置 4.4 创建User 实体类 4.5定义DAO层M…

11.25学到的东西==命令行

创建文件,可以直接选择文件之后再加上.py import argparse# 单个参数 # 创建解析器 # ArgumentParser 对象包含将命令行解析成 Python 数据类型所需的全部信息。 parser argparse.ArgumentParser() # 单独的参数 square 之后这个help就是提示的信息 # 显示给定数字…

【药材识别】基于matlab GUI SVM色差色温判断药材炮制程度系统【含Matlab源码 2241期】

⛄一、SVM色差色温判断药材炮制程度系统简介 本课题来源于"十二五"国家科技支撑计划项目(2012BAI29B11).颜色是中药质量标准中性状评价极为重要的内容,但传统的中药颜色检测大多依靠人的感官评估,人对颜色的辨别是一个非常复杂的过程,受到光学,视觉生理,视觉心理等诸…