当前位置:   article > 正文

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

镜像打包会启动项目吗?

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

  1. import org.springframework.web.bind.annotation.RequestMapping;
  2. import org.springframework.web.bind.annotation.RestController;
  3. @RestController
  4. public class TestController {
  5. @RequestMapping("/test")
  6. public String sayHello(){
  7. return "Hello World!";
  8. }
  9. }

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

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

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

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

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

java -jar 项目的jar包

5、创建docoerfile

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

(2) 

效果图:

6、编写Dockerfile

  1. #基础镜像
  2. FROM java:8
  3. #把当前目录下的jar包拷贝进docker镜像里
  4. COPY *.jar /todocker.jar
  5. #CMD命令用于指定这个容器启动的时候要运行的命令(CMD一行只执行一个命令,可以写多个CMD)
  6. CMD ["***server.port=8080***"]
  7. #对外暴露8080端口
  8. EXPOSE 8080
  9. #ENTRYPOINT命令用于指定这个容器启动的时候要运行的命令(可以追加命令)
  10. ENTRYPOINT ["java","-jar","/todocker.jar"]

效果图:

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

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

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

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

效果图:

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

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

docker images

效果图: 

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

  1. #选项及解释
  2. -d表示容器在后台运行
  3. -P表示随机指定端口
  4. --name="name"参数用于给容器取名字 ,用来区分容器
  5. 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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/284097?site
推荐阅读
相关标签
  

闽ICP备14008679号