栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

用docker部署Springboot —————— 无需插件

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用docker部署Springboot —————— 无需插件

因为最近在研究新的项目,打算先用 docker 完成局部。

博客地址:芜风

记一次用docker部署Springboot的经历 0x01 前言
  • 之前看有文章说是用什么什么插件,其实根本没这么麻烦

我是跟着这位师傅的教程走的,但是有几个地方还是不太清晰,也容易踩坑的。挂一下师傅文章的链接:使用 Docker 部署 Spring Boot

  • 不多逼逼,开启正题
0x02 创建一个简单的 Springboot 项目

第一步,先创建一个简单的 Springboot 项目,我这里是用 IDEA 起的,其他也是大同小异吧。过程我就省略了,如果有问题的师傅可以私聊我一下。

接着,我们按照 Springboot 的封装模式来,创建一个 Controller 文件夹,并创建 DockerTestController,在其中添加如下代码。

@RestController  
public class DockerController {  
    @RequestMapping("/hello")  
    public String hello(){  
        return "hello Docker";  
 }  
  
}

  • 我们运行的 application 不需要更改

这里先测试一下,可不可以访问 127.0.0.1:8080/hello

页面是会返回 “hello Docker”

0x03 打包成 jar 文件

打包成 jar 文件很简单,操作如图所示,点击 package 即可。

  • 因为我们的需求是用 docker 部署 springboot 程序,所以我们一定是要把 jar 文件放到装有 docker 的机器上的,我这里用的是 Linux 的机器,Windows 的我还没有用过。

通过 sftp 或者其他的方式传过去。

0x04 重头戏,使用 Docker 部署 1. Dockerfile 的编写

首先我们需要编写 Dockerfile,Dockerfile 的名字就叫 Dockerfile,一个文件夹里面只可以存在一个 Dockerfile,Dockerfile 这里就按照如下写即可,把自己的 jar 文件替换进去。编写如下

FROM openjdk:11   // 这里如果 openjdk 不对就使用 java:11
COPY *.jar /drunkgoat-0.0.1-SNAPSHOT.jar   // 自己的 jar 文件
  
CMD ["--server.port=7000"]   // 自己设置端口
  
EXPOSE 7000   // 对外暴露端口
  
ENTRYPOINT ["java","-jar","/drunkgoat-0.0.1-SNAPSHOT.jar"]

这里算是踩了个坑吧,那位师傅的教程第一行写的是 java:11,然后我 docker build 的时候就一直报这个错误:

manifest for java:11 not found: manifest unknown: manifest unknown

后面换了个角度,用了 openjdk:11 果然可以!

2. 构建自己的镜像(images)

就一句命令

sudo docker build -t springboot-demo .  
// -t 后面是你想给这个容器取的名

  • docker build 这里要怎么分类我还是不太会,如果有懂的师傅可以说一下
3. 运行镜像

同样的,一句命令

docker run -d -p 7000:8080 --name "这里给要 run 中的容器取名" springboot-demo(也就是你前面命名的) dockerid

run 之后,我们通过 docker ps 来查看正在 run 的容器

再访问就通啦!

访问 ip+端口加 hello 接口即可 ~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/887847.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号