使用docker在linux环境中部署springboot包的教程

 更新时间:2021年03月22日 10:57:25   作者:水巷石子  
这篇文章主要介绍了使用docker在linux环境中部署springboot包,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

因为springboot是内嵌了tomcat服务器的,所以打成jar包后,是可以直接运行的。

首先我们看一下,在windows环境下的打包部署

1. 进行install打包

2. 检查,在target目录中是否存在了项目jar包

在这里插入图片描述

3.如果已经存在了项目jar包,就可以直接运行了(前面说了,springboot包是可以直接运行的)

在这里插入图片描述

4.在dos命令框中使用java -jar指令

java -jar springboot-nriat-common-demo-0.0.1-SNAPSHOT.jar

 

在这里插入图片描述

启动效果:

在这里插入图片描述

在这里插入图片描述

没有报错,启动成功!

上面说的是windows系统上的springboot发包部署,下面进入正题。

使用docker在linux系统中进行发包部署。

1. 首先需要准备一个dockerfile的文件,文件内容如下:

# 指定基础镜像
FROM java:8
# 维护者信息
MAINTAINER lbl
# 定义匿名卷
VOLUME /tmp
#复制文件或修改名称
ADD springboot-nriat-common-demo-0.0.1-SNAPSHOT.jar app.jar
# 允许指定的端口
EXPOSE 8087
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

文件解析

在这里插入图片描述

解释下这个配置文件:

VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。该步骤是可选的,如果涉及到文件系统的应用就很有必要了。/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录
项目的 jar 文件作为 “app.jar” 添加到容器的
ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/./urandom” 作为 Entropy Source

如果是第一次打包,它会自动下载java 8的镜像作为基础镜像,以后再制作镜像的时候就不会再下载了。

2. 将dockerfile文件与springboot项目的jar包放在同一个文件夹中

在这里插入图片描述

3. 然后开始制作镜像

docker build -t springboot-docker .

使用docker images查看镜像是否已经生成

docker images

在这里插入图片描述

5.配置springboot项目,启动容器

docker run -d -p 8087:8087 8493c1f0592c

-d参数是让容器后台运行
-p 是做端口映射,此时将服务器中的8080端口映射到容器中的8087(项目中端口配置的是8087)端口
使用images镜像的IMAGE ID

6. 最后使用docker ps -a,查看一下是否已经启动。

docker ps -a

在这里插入图片描述

启动成功!!

到此这篇关于使用docker在linux环境中部署springboot包的文章就介绍到这了,更多相关docker部署springboot包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解如何基于Docker镜像逆向生成Dockerfile

    详解如何基于Docker镜像逆向生成Dockerfile

    这篇博客文章我们将通过使用一些开源工具,带领您逐步解读 Docker 镜像并转换为 Dockerfile 的过程,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • Docker 容器日志查看和清理的实现步骤

    Docker 容器日志查看和清理的实现步骤

    在处理Docker容器的过程中,经常需要查看容器的日志输出来排查问题或者进行系统监控,本文主要介绍了Docker容器日志查看和清理的实现步骤,感兴趣的可以了解一下
    2023-11-11
  • Docker可视化工具Portainer的具体使用

    Docker可视化工具Portainer的具体使用

    Portainer是Docker的可视化工具,可提供一个交互界面显示Docker的详细信息供用户操作,本文主要介绍了Docker可视化工具Portainer的具体使用,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • Docker Desktop 安装使用教程(图文步骤)

    Docker Desktop 安装使用教程(图文步骤)

    Docker是一种打包和运行应用程序的新方式. Docker Desktop是 Docker的Windows桌面版本,本文主要介绍了Docker Desktop安装使用教程,感兴趣的可以了解一下
    2024-02-02
  • docker使用volume和bind mount的区别及说明

    docker使用volume和bind mount的区别及说明

    文章介绍了Docker中Volume和BindMount两种数据持久化机制的区别,Volume由Docker管理,支持数据共享和加密,而BindMount将宿主机上的文件或目录直接挂载到容器中,性能较好但依赖于宿主机的文件系统结构
    2024-11-11
  • docker镜像的拉取登陆上传及保存等相关使用命令

    docker镜像的拉取登陆上传及保存等相关使用命令

    这篇文章主要为大家介绍了docker镜像的拉取登陆上传及保存等相关使用命令,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • Docker容器数据卷的使用教程

    Docker容器数据卷的使用教程

    数据卷容器是一个专门用来挂载数据卷的容器,该容器主要是供其他容器引用和使用,下面这篇文章主要给大家介绍了关于Docker容器数据卷使用的相关资料,需要的朋友可以参考下
    2022-10-10
  • Docker Desktop安装本地Kubernetes集群的实现

    Docker Desktop安装本地Kubernetes集群的实现

    Kubernetes用于协调高度可用的计算机集群,本文主要介绍了Docker Desktop安装本地Kubernetes集群的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Docker Swarm入门实例详解

    Docker Swarm入门实例详解

    这篇文章主要介绍了Docker Swarm 入门实例详解的相关内容,小编觉得十分不错,在这里给大家分享下,需要的朋友可以参考。
    2017-10-10
  • docker中的run/cmd/entrypoint的区别详解

    docker中的run/cmd/entrypoint的区别详解

    Dockerfile中run、cmd和entrypoint都能够用于执行命令,针对每个命令给他介绍详细用途,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-08-08

最新评论