把SpringBoot项目打包进Docker镜像里并启动运行

1、准备一个SpringBoot项目(我这里使用的是一个简单的SpringBoo项目,代码如下)

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {

    @RequestMapping("/test")
    public String sayHello(){
        return "Hello World!";
    }

}

2、把SpringBoot项目打包成jar包(我这里简单写了一个接口来用于测试调用)

3、在项目下的target文件夹下找到打包好的jar包

4、测试项目是否能正常运行

(1)在jar包所在的地址栏里输入cmd然后按回车进入命令行

(2)输入以下命令启动项目,并查看项目是否成功正常启动

java -jar 项目的jar包

5、创建docoerfile

(1)在项目里新建一个名为Dockerfile的文件

(2) 

效果图:

6、编写Dockerfile

#基础镜像
FROM java:8

#把当前目录下的jar包拷贝进docker镜像里
COPY *.jar /todocker.jar

#CMD命令用于指定这个容器启动的时候要运行的命令(CMD一行只执行一个命令,可以写多个CMD)
CMD ["***server.port=8080***"]

#对外暴露8080端口
EXPOSE 8080

#ENTRYPOINT命令用于指定这个容器启动的时候要运行的命令(可以追加命令)
ENTRYPOINT ["java","-jar","/todocker.jar"]

效果图:

7、在服务器里的你想存放项目的位置新建文件夹,用于存放Java项目

8、把打包好的jar包和Dockerfile文件上传到服务器里

9、使用Dockerfile打包出一个docker镜像

#选项及解释
-t的t是tag,表示生成的镜像的名称和版本号
.表示当前构建时上下文的路径为当前目录

docker build -t todocker:0.1 .

效果图:

若是第一次使用java:8镜像会从DockerHub仓库里下载,其中的效果图会如下(不管是上面的效果图还是下面的效果图,只要出现了Successfully built的字眼就表示构建docker镜像构建成功,不必担心实际效果图和文中不同而以为自己构建docker镜像的过程中出现问题)

10、使用以下命令查看镜像是否构建成功

docker images

效果图: 

11、使用以下命令利用我们新建的docker镜像来启动docker容器

#选项及解释
-d表示容器在后台运行
-P表示随机指定端口
--name="name"参数用于给容器取名字 ,用来区分容器

docker run -d -P --name 容器名称 镜像名称

效果图:

12、访问docker容器内的项目

(1)因为用-P参数随机指定了docker的端口来映射docker容器内的SpringBoot项目的8080端口,导致不知道docker随机指定的是哪个端口,所以使用以下命令查看随机指定的docker端口是什么(如果在启动docker容器时指定了端口可以不用进行这一步操作)

docker ps

效果图: 

(2)使用curl命令来访问docker容器内的SpringBoot项目,出现404的字眼,证明SpringBoot项目启动成功

curl localhost:docker随机指定的端口

效果图 

(3)使用curl命令调用SpringBoot项目的接口,发现能调用成功

curl localhost:docker随机指定的端口/接口路径

效果图: 

其他:

关于Dockerfile的介绍及使用的文章:

https://blog.csdn.net/m0_64284147/article/details/126615039

关于Docker常用命令的文章:

https://blog.csdn.net/m0_64284147/article/details/126187253

创作不易,如果这篇文章对你有帮助,希望能点个赞帮助文章的推广,如果文章有错漏,希望各位能批评指正,谢谢大家。

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值