使用Docker部署打包发布springboot项目

下面我来详细讲解使用Docker部署打包发布Spring Boot项目的完整攻略,包含两条示例说明。

准备工作

在开始前需要先准备以下工作:

  • 安装Docker
  • 安装Maven
  • 编写Spring Boot项目
  • 安装docker-maven-plugin

这里就不再赘述Docker和Maven的安装过程,若还未安装可自行搜索相关教程。

使用Docker构建镜像和容器

  1. 新建Dockerfile文件

在Spring Boot项目的根目录下新建Dockerfile文件,文件内容如下:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD target/{your project jar name}.jar {your project jar name}.jar
RUN sh -c 'touch {your project jar name}.jar'
ENV JAVA_OPTS=""
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/{your project jar name}.jar"]

其中,{your project jar name}需要替换为你的Spring Boot项目启动后的Jar包名称。

  1. 在命令行中创建镜像

在Spring Boot项目的根目录下,执行以下命令创建Docker镜像:

docker build -t {your docker image name} .

其中,{your docker image name}应为你需要创建的镜像名称。

  1. 运行容器

在创建镜像完成后,执行以下命令运行容器:

docker run -d -p {your port}:8080 --name {your container name} {your docker image name}

其中,{your port}为你需要将容器映射到本地的端口号,{your container name}为你需要创建的容器名称。

使用Maven和docker-maven-plugin插件构建镜像

  1. 新建Dockerfile文件

同样,在Spring Boot项目的根目录下新建Dockerfile文件,文件内容如下:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD {your project jar name}.jar {your project jar name}.jar
RUN sh -c 'touch /{your project jar name}.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/{your project jar name}.jar"]
  1. 添加docker-maven-plugin插件

在pom.xml文件中添加docker-maven-plugin插件,如下:

<build>
  <plugins>
    <plugin>
      <groupId>com.spotify</groupId>
      <artifactId>docker-maven-plugin</artifactId>
      <version>1.1.0</version>
      <configuration>
        <imageName>{your docker image name}</imageName>
        <dockerDirectory>src/main/docker</dockerDirectory>
        <resources>
          <resource>
            <targetPath>/</targetPath>
            <directory>${project.build.directory}</directory>
            <include>${project.build.finalName}.jar</include>
          </resource>
        </resources>
      </configuration>
    </plugin>
  </plugins>
</build>

其中,{your docker image name}应为你需要创建的镜像名称。

  1. 在命令行中创建镜像

在执行构建命令时,加上dockerfile:build参数即可在Maven的构建流程中添加Docker镜像构建的过程,命令如下:

mvn clean package dockerfile:build
  1. 运行容器

与上一种方法相同,在构建完成后运行容器的命令为:

docker run -d -p {your port}:8080 --name {your container name} {your docker image name}

以上就是使用Docker部署打包发布Spring Boot项目的两种示例,希望可以帮助到您。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Docker部署打包发布springboot项目 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Docker Dockerfile的使用实例

    下面我将详细讲解“Docker Dockerfile的使用实例”的完整攻略,同时包含两条示例说明。 Docker Dockerfile的使用实例 Docker 是一个开源的应用容器引擎,能够轻松地为任何应用程序创建轻量级、可移植、可扩展的容器。Docker 将应用程序与底层系统分离开来,从而实现更快、更可靠的应用部署。 Dockerfile 是 Docker…

    Docker 2023年5月16日
    00
  • docker图形化管理软件Portainer重置密码步骤

    # 下载帮助镜像portainer/helper-reset-password docker pull portainer/helper-reset-password # 停止运行的portainer docker stop “id-portainer-container” # 运行重置命令 docker run –rm -v portainer_data…

    Docker 2023年4月16日
    00
  • docker修改镜像名称以及保存镜像文件

    1、修改镜像名 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE absolutapps/oracle-12c-ee latest ad9bdfc002e7 3 years ago 6.12GB [root@localhost ~]# docker tag ad9bd…

    Docker 2023年4月13日
    00
  • docker使用

    1.本机安装的容器     sudo docker ps -a   查看最新的创建的容器        sudo docker ps -l 2.本机上的镜像     sudo docker images 3.在docker hub 上搜索镜像     sudo docker search tensorflow NAME                    …

    Docker 2023年4月11日
    00
  • docker进阶之路-基础篇 | 二:portainer安装与基本使用

    转载请注明作者及出处: 作者:银河架构师 原文链接:https://www.cnblogs.com/luas/p/12061755.html   ​简介   Portainer 是轻量级,跨平台,开源的管理Docker的UI。Portainer提供了Docker的详细概述,并允许通过基于Web的简单仪表板管理容器、镜像、网络和卷,且支持GNU / Linux…

    Docker 2023年4月13日
    00
  • Grafana 系列文章(二):使用 Grafana Agent 和 Grafana Tempo 进行 Tracing

    ?️URL: https://grafana.com/blog/2020/11/17/tracing-with-the-grafana-cloud-agent-and-grafana-tempo/ ✍Author: Robert Fratto • 17 Nov 2020 ?Description: Here’s your starter guide to c…

    2023年4月10日
    00
  • 1.【原创】Ubuntu下Docker的安装&设置开机启动

    根据官方文档进行docker安装(文档地址:https://docs.docker.com/engine/install/ubuntu/):   1.安装前提条件: 必须要在64位的系统下才能安装,当前版本的docker是不支持32位系统的。 发行的版本号如下,16.04之前的版本建议进行升级: Ubuntu Focal 20.04 (LTS) Ubuntu…

    Docker 2023年4月12日
    00
  • 如何配置 SLO

    前言 无论是对外提供 IaaS PaaS SaaS 的云公司,还是提供信息技术服务的乙方公司,亦或是金融 制造等各行各业的数据中心、运维部门,我们的一个非常重要的合同承诺或考核评估指标就是:SLA(即:Service-Level Agreement 服务等级协议)。 而真正落地实现 SLA 的精确测量,最广为人知的就是 Google 的 SRE 理论。 Go…

    Docker 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部