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

yizhihongxing

下面我来详细讲解使用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网络代理设置

    背景   在一些实验室环境,服务器没有直接连接外网的权限,需要通过网络代理。我们通常会将网络代理直接配置在/etc/environment、/etc/profile之类的配置文件中,这对于大部分操作都是可行的。然而,docker命令却使用不了这些代理。比如docker pull时需要从外网下载镜像,就会出现如下错误: $ docker pull hello-…

    Docker 2023年4月11日
    00
  • 浅谈Docker基础之数据管理

    关于“浅谈Docker基础之数据管理”的完整攻略,我们可以分两部分来讲解:第一部分是Docker数据管理的基础知识,第二部分是包括两个示例的Docker数据管理的实践操作。 一、Docker数据管理的基础知识 1. Docker数据管理的意义 对于Docker容器而言,数据管理非常重要。因为任何一个容器都需要存储数据,而这些数据是需要在容器之间共享的。因此,…

    Docker 2023年5月16日
    00
  • 详解Docker 国内镜像的配置及使用

    详解Docker 国内镜像的配置及使用 使用Docker可以轻松构建、打包、分发和运行应用程序,但是默认情况下,开发者在使用Docker过程中可能会遇到一些由于网络问题造成的镜像拉取失败、速度慢等痛点。为了能够更高效的使用Docker,下面我们来详细讲解如何配置国内镜像及如何进行使用,如下: 配置国内镜像 使用Docker命令行工具配置镜像 在终端输入以下命…

    Docker 2023年5月16日
    00
  • docker swarm 集群进入某节点容器失败的原因及解决方法

    今日在自己的docker swarm 测试环境中,想进入某个节点的容器去查看下,结果进入容器失败,并且报了如下错误信息:     [root@worker1 ~]# docker exec -it 9a6f61107d67 /bin/bashrpc error: code = 2 desc = oci runtime error: exec failed: …

    Docker 2023年4月16日
    00
  • 基于docker的 Hyperledger Fabric 多机环境搭建(上)

    环境:ubuntu 16.04 Docker  17.04.0-ce go 1.7.4 consoul v0.8.0.4   ======================================================================= 一、项目准备 想必能搜到这篇文章的人对Hyperledger Fabric(以下简称Fab…

    Docker 2023年4月16日
    00
  • CentOS系统下docker的安装配置及使用介绍

    CentOS系统下docker的安装配置及使用介绍 本文将详细讲解在CentOS系统下安装配置docker以及常用命令的使用方法,帮助读者快速上手使用docker。 Docker的安装 安装Docker CE 卸载旧版本的Docker $ sudo yum remove docker \ docker-client \ docker-client-lates…

    Docker 2023年5月16日
    00
  • 详解Docker容器运行GUI程序的方法

    摘要:本文为大家详解如何直接进入Docker容器运行或通过SSH连接Docker容器运行GUI程序的方法。 本文分享自华为云社区《Docker容器运行GUI程序的方法(直接进入Docker容器运行或通过SSH连接Docker容器运行)》,作者:MAVER1CK 。 以下两种方法都需要先在主机执行 xhost + 命令,若无该命令,先apt安装 x11-xse…

    Docker 2023年4月10日
    00
  • docker上安装elasticsearch和ik分词器插件和header,实现分词功能

    docker run -di –name=tensquare_es -p 9200: -p 9300:9300 elasticsearch:5.6.8 创建elasticsearch容器(如果版本不是最新的需要在后面加上版本号) 直接浏览器访问创建对应的索引库(这里使用postman)     search模块对应application.yml文件设置 添…

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