首页 > 编程语言 >使用 Docker 打包 Java 应用程序为镜像

使用 Docker 打包 Java 应用程序为镜像

时间:2023-03-25 18:35:20浏览次数:41  
标签:Java app jar 应用程序 test 镜像 Docker Dockerfile

创建 Dockerfile

在 Docker 中,Dockerfile 是一个文本文件,包含一系列的指令,用于定义如何构建 Docker 镜像。可以通过编写 Dockerfile 来自定义 Docker 镜像。对于 Java 应用程序,我们需要使用运行 Java 应用程序的基础镜像,并将打包好的 .jar 文件拷贝到镜像中去。

下面是一个示例 Dockerfile:

FROM openjdk:8-jdk-alpine
COPY springboot_11_test-0.0.1-SNAPSHOT.jar /usr/app/app.jar
WORKDIR /usr/app
CMD ["java", "-jar", "app.jar"]

在上面的 Dockerfile 中,我们使用 openjdk:8-jdk-alpine 作为基础镜像,该镜像内置了 JDK 8 环境,并为 Alpine Linux 优化,因此可以快速启动并部署 Java 应用程序。

然后,我们使用 COPY springboot_11_test-0.0.1-SNAPSHOT.jar /usr/app/app.jar 命令将应用程序的 .jar 文件拷贝到镜像中去,并设置工作目录为 /usr/app/,最后使用 CMD ["java", "-jar", "myapp.jar"] 命令来运行应用程序。

构建 Docker 镜像

构建 Docker 镜像,需要运行以下命令:

docker build -t springboot-test .

在上述命令中,我们使用 -t 参数来指定构建出来的镜像的名称和标签,.(点)表示当前目录,也就是 Dockerfile 所在目录。

构建完成后,可以使用 docker images 命令查看本地已经构建好的镜像,可以看到刚刚构建出来的镜像:

REPOSITORY                 TAG            IMAGE ID       CREATED         SIZE
springboot-test            latest         57d42336941e   8 minutes ago   122MB

运行 Docker 镜像

运行已经构建好的 Docker 镜像,需要使用 docker run 命令,并指定镜像的名称和标签,命令如下:

docker run --name=test -p 80:8080 -d springboot-test

标签:Java,app,jar,应用程序,test,镜像,Docker,Dockerfile
From: https://blog.51cto.com/learningfish/6149570

相关文章

  • java——spring boot集成kafka——单节点示例
    首先安装一个zk。然后再安装kafka:   执⾏以下命令创建名为“test”的topic,这个topic只有⼀个partition,并且备份因⼦也设置为1: 然后在kafka节点下,执行如下命令:......
  • Java进阶基础知识点(包及final关键字、常量)
    一:包的概述包就是文件夹,用来管理各种不同功能的Java类,方便后期代码维护。包的命名规则:公司域名的反写+包的作用,需要全部英文小写,见名知意。例如;com.51cto.domain.student.......
  • JavaSE
    前言字节流和字符流体系相同,仅操作的数据类型不同。节点流和过滤流的关系,是装饰者模式的体现。转换流,是适配器模式的体现。I/O对磁盘文件的读写,针对的是File类。......
  • JavaSE
    File:用于代表磁盘中的一个文件或文件夹(未必真实存在),提供操作文件本身的方法。1、常用属性路径分隔符:;pathSeparator``pathSeparatorChar`名称分隔符:\Separ......
  • Docker学习笔记:二、安装Docker
    二、安装Docker安装环境CentOS71、Docker版本CE即社区版(免费,支持周期7个月)stabletestnightlyEE即企业版,强调安全,付费使用,支持周期24个月安装指南:https......
  • Java基础知识流程与示例
    一、Java知识流程Java语言特点和发展历史数据类型、变量和常量运算符和表达式控制语句(if、switch、for、while等)数组和字符串面向对象编程(类和对象、继承、封装、多......
  • centos7安装Docker(转)
    原文:https://cloud.tencent.com/developer/article/17014511、安装前必读在安装Docker之前,先说一下配置,我这里是Centos7Linux内核:官方建议3.10以上,3.8以上貌似也可......
  • 使用Docker 一键部署SpringBoot和SpringCloud项目
    Docker是一个非常流行的容器化技术,可以方便地将应用程序和服务打包成容器并运行在不同的环境中。在本篇博客中,我将向您展示如何使用Docker一键部署SpringBoot和SpringCloud......
  • docker 必会基础知识
    Docker知识汇总docker安装安装地址windows:https://desktop.docker.com/win/stable/amd64/Docker%20Desktop%20Installer.exe?utm_source=docker&utm_medium=webreferra......
  • 【华为OD机试真题2023 JAVA】Linux发行版的数量
    Linux发行版的数量知识点DFS搜索BFS搜索并查集时间限制:1s空间限制:256MB限定语言:不限题目描述:Linux操作系统有多个发行版,distrowatch.com提供了各个发行版的资料。这些发......