如何在IDE部署springboot项目(有swagger和无swagger都是一样的)到服务器或者虚拟机上的docker

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 最近写了个项目,前端还没写,需要部署到服务器给女朋友实现前端,可是不熟悉Linux的我,蹑手蹑脚,真的是每一步都是bug,可谓是步步维艰,对世界很绝望,曾经怀疑自己的服务器有问题,甚至一度怀疑是自己的DaoBan IDE有问题,历时两天一夜,终于……部署好了。

一、前言
最近写了个项目,前端还没写,需要部署到服务器给女朋友实现前端,可是不熟悉Linux的我,蹑手蹑脚,真的是每一步都是bug,可谓是步步维艰,对世界很绝望,曾经怀疑自己的服务器有问题,甚至一度怀疑是自己的DaoBan IDE有问题,历时两天一夜,终于……部署好了。

二、现在开始分享一下安装历程:
1.购买一个服务器或者安装虚拟机(有点像废话)

2.安装docker(可以使用yum安装)

tips:安装好docker之后需要配置一下,输入下面这行代码,进入docker配置文件,在ExecStart=后添加配置,远程访问docker的端口为2375
sos:如果是服务器,这个修改后需要在服务器上面再配置一下这个端口号,不然ide会识别不出端口号,很重要(这个坑踩了很久,快陷进去了)

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

1.vim /lib/systemd/system/docker.service #输入,进到这个配置文件
2.-H tcp://0.0.0.0:2375 #复制粘贴这个
3.退出编辑界面:先按esc,然后":wq"退出
4.# 重启docker
systemctl daemon-reload
systemctl restart docker
3.到了第三步,说明咱们已经配置好docker了,现在需要在docker里面拉取MySQL映像

1.docker pull mysql:8.0(本人用8.0,需要什么版本号在后面改就好)
2.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插件

<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
这个就是本次痛苦的历程,这种东西真的有点烦,需要有耐心,细心去一步一步操作,希望可以帮到你,不介意的话,可以点个赞哦。

相关文章
|
20天前
|
弹性计算 监控 负载均衡
|
14天前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
21天前
|
Java 应用服务中间件
SpringBoot获取项目文件的绝对路径和相对路径
SpringBoot获取项目文件的绝对路径和相对路径
60 1
SpringBoot获取项目文件的绝对路径和相对路径
|
11天前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
23 2
|
16天前
|
分布式计算 关系型数据库 MySQL
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型 图像处理 光通信 分布式计算 算法语言 信息技术 计算机应用
36 8
|
7天前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
23 0
|
6月前
|
网络协议 IDE 网络安全
GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程
GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程
734 0
|
IDE Go 开发工具
Go开发IDE全览:GoLand vs VSCode全面解析
Go开发IDE全览:GoLand vs VSCode全面解析
513 0
|
1月前
|
IDE 开发工具 C++
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决
本文详细介绍了在离线环境中开发Avalonia UI项目的完整解决方案,包括Visual Studio 2022和JetBrains Rider的离线安装、Avalonia UI模板的配置、私有NuGet服务的部署与使用,以及NuGet包的制作和上传。通过这些步骤,您可以在网络受限或完全离线的环境中顺利进行Avalonia UI项目的开发。
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决
|
1月前
|
机器学习/深度学习 存储 监控
AllData数据中台核心菜单五:实时开发IDE
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
下一篇
无影云桌面