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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 如何在IDE部署springboot项目(有swagger和无swagger都是一样的)到服务器或者虚拟机上的docker

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

1.购买一个服务器或者安装虚拟机(有点像废话)

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

tips:安装好docker之后需要配置一下,输入下面这行代码,进入docker配置文件,在

# ExecStart=后添加配置,远程访问docker的端口

为2375,sos:如果是服务器,这个修改后需要在服务器上面再配置一下这个端口号,不然ide会识别不出端口号,很重要(这个坑踩了很久,快陷进去了)

2018122814580746.png

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

这一步也有个坑,如果你在安装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.打包,先后顺序。

2018122814580746.png

6.到这一步已经加载好docker插件了,打开这个插件,点一下build,如果运行最后显示BUID SUCESS,就说明成功传输package到虚拟机了,到虚拟机查看(这里如果不成功,大概率是2375那个端口号在服务器那里没有释放

2018122814580746.png

7.回到虚拟机,输入命令

docker images

如果看到

2018122814580746.png

就成功了,现在来运行这个项目输入

docker run -d -p 80:80 项目名:0.0.1-SNAPSHOT

2018122814580746.png

-d是后台运行,-p:绑定端口号 ,前面那个80是启动这个镜像对外暴露的端口(自定),第二个80是下载的镜像的端口(原项目端口) 。

接下来,查看自己的项目是否成功,输入命令,就会出现你的项目名字了,然后可以在本地浏览器查看一下项目。

docker ps

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

相关文章
|
20天前
|
弹性计算 监控 负载均衡
|
14天前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
2天前
|
Java 应用服务中间件 Maven
如何将 Spring Boot 应用程序部署为 WAR?
如何将 Spring Boot 应用程序部署为 WAR?
10 1
|
21天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
30天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
261 3
|
30天前
|
NoSQL Linux PHP
|
1月前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
105 1
|
Java 测试技术 Docker
Spring Boot 学习研究笔记(十九)-docker部署SpringBoot 日志目录挂载
Spring Boot 学习研究笔记(十九)-docker部署SpringBoot 日志目录挂载
513 0
|
Java 应用服务中间件 Linux
使用docker部署springboot项目小白教程
使用docker部署springboot项目小白教程
533 0
|
6月前
|
Java 关系型数据库 Docker
docker打包部署spring boot应用(mysql+jar+Nginx)
docker打包部署spring boot应用(mysql+jar+Nginx)
下一篇
无影云桌面