如何在IDE部署springboot项目(有swagger和无swagger都是一样的)到服务器或者虚拟机上的docker
作者:狮子也疯狂 发布时间:2023-09-01 00:33:25
一、前言
最近写了个项目,前端还没写,需要部署到服务器给女朋友实现前端,可是不熟悉Linux的我,蹑手蹑脚,真的是每一步都是bug,可谓是步步维艰,对世界很绝望,曾经怀疑自己的服务器有问题,甚至一度怀疑是自己的DaoBan IDE有问题,历时两天一夜,终于……部署好了。
二、现在开始分享一下安装历程:
1.购买一个服务器或者安装虚拟机(有点像废话)
2.安装docker(可以使用yum安装)
tips:安装好docker之后需要配置一下,输入下面这行代码,进入docker配置文件,在ExecStart=后添加配置,远程访问docker的端口为2375sos:如果是服务器,这个修改后需要在服务器上面再配置一下这个端口号,不然ide会识别不出端口号,很重要(这个坑踩了很久,快陷进去了)
vim /lib/systemd/system/docker.service #输入,进到这个配置文件-H tcp://0.0.0.0:2375 #复制粘贴这个退出编辑界面:先按esc,然后":wq"退出# 重启dockersystemctl daemon-reloadsystemctl restart docker
3.到了第三步,说明咱们已经配置好docker了,现在需要在docker里面拉取MySQL映像
docker pull mysql:8.0(本人用8.0,需要什么版本号在后面改就好)docker run -itd --name mysql -p 3306:3306-e MYSQL_ROOT_PASSWORD=root mysql:8.0
tips: 这一步也有个坑,如果你在安装docker之前,本地就安装了mysql,并且端口号也是3306,那必须让它处于关闭状态,否则会造成端口号冲突,windows的navigate或者小海豚就会连接不上虚拟机的mysql
4.到这一步,虚拟机的工作做完了,回到ide中,首先修改yml文件中mysql的连接地址,ip和端口号都需要改成虚拟机的,注意密码也要改哦。其次呢,需要在pom文件添加docker-maven-plugin插件
<!-- docker-maven-plugin--><plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.2</version><configuration><!-- Docker路径 --><dockerHost>http://虚拟机的ip:2375(刚开始设置的docker端口号)</dockerHost><!-- Dockerfile定义 --><baseImage>openjdk:11</baseImage><!-- 作者 --><maintainer>jackie</maintainer><resources><resource><!-- 复制jar包到docker容器指定目录 --><targetPath>/</targetPath><!-- 从哪个包拷贝文件,target包 --> <directory>${project.build.directory}</directory> <!-- 拷贝哪个文件 --><include>${project.build.finalName}.jar</include></resource></resources><workdir>/</workdir><entryPoint> ["java", "-jar", "${project.build.finalName}.jar"] </entryPoint><forceTags>true</forceTags><!-- 镜像名 --><imageName>${project.artifactId}</imageName><!-- 镜像版本 --><imageTags><imageTag>${project.version}</imageTag></imageTags></configuration> </plugin>
5.打包,先后顺序。
6.到这一步已经加载好docker插件了,打开这个插件,点一下build,如果运行最后显示BUID SUCESS,就说明成功传输package到虚拟机了,到虚拟机查看(这里如果不成功,大概率是2375那个端口号在服务器那里没有释放)
7.回到虚拟机,输入命令
docker images
如果看到
就成功了,现在来运行这个项目输入
docker run -d -p 80:80 项目名:0.0.1-SNAPSHOT
-d是后台运行,-p:绑定端口号 ,前面那个80是启动这个镜像对外暴露的端口(自定),第二个80是下载的镜像的端口(原项目端口) 。
接下来,查看自己的项目是否成功,输入命令,就会出现你的项目名字了,然后可以在本地浏览器查看一下项目。
docker ps
来源:https://blog.csdn.net/m0_58847451/article/details/128581369
猜你喜欢
- 我们平时使用的一些常见队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了De
- 这篇文章主要介绍了Java import导入及访问控制权限修饰符过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 摘要:想必大家做开发的时候都会用到下拉刷新的控件,现在各种第三方的下拉刷新控件不胜枚举。当然最NB的还是XListView。其他也有针对Gr
- logback输出日志屏蔽quartz的debug等级日志在一个spring的老项目中,使用了logback来作为日志管理,logback.
- feign传输List的坑无法直接传输List错误方法1@RequestMapping(value = "/stat/mercha
- 相关知识:Java中三种简单注解介绍和代码实例一、作用用 @Deprecated注解的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危
- 本文实例讲述了Java Web项目部署在Tomcat运行出错与解决方法。分享给大家供大家参考,具体如下:1、在部署Java Web项目的过程
- 本文实例讲述了Android编程实现WebView添加进度条的方法。分享给大家供大家参考,具体如下:标准的XML界面<?xml ver
- 一个是新浪微博,腾讯微博的分享按钮,一个是他们的绑定情况(其实就是是否授权)。点击微博分享中新浪或腾讯按钮,就进行相应的授权(若没授权),显
- Android四种数据存储的应用方式作为一个完整的应用程序,数据存储操作是必不可少的。因此,Android系统一共提供了四种数据存储方式。分
- 阅读收获理解SpringBoot自动配置原理一、SpringBoot是什么SpringBoot 的诞生就是为了简化 Spring 中繁琐的
- 文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并。很多高大上的分布式文件系统(比如:google
- AndroidStduio3.0使用gradle将module打包jar文件,首先需要安装gradle。打开控制台输入  
- 一. 线性表中的顺序表线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见
- CSRF介绍CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click atta
- FileOutPutStream:子类,写出数据的通道步骤:1.获取目标文件2.创建通道(如果原来没有目标文件,则会自动创建一个)3.写入数
- 机器学习 机器学习的目的是把数据转换成信息。 机器学习通过从数据里提取规则或模式来把数据转成信息。 人脸识别 人脸识别通过级联分类器对特征的
- Rmb.javapublic class Rmb { /** *人民币的基本信息和操作 *@auth
- 在java.lang.Runtime.exec的使用中,我们经常会用到将重定向命令执行的输入/结果或者将错误信息读取出来.那么,在使用过程中
- 这是Hadoop学习全程记录第1篇,在这篇里我将介绍一下如何在Linux下安装Hadoop1.x。先说明一下我的开发环境:虚拟机:VMwar