首页 > 其他分享 >如何编写Dockerfile

如何编写Dockerfile

时间:2024-06-03 15:34:04浏览次数:26  
标签:JAVA java jar 如何 ENV 编写 TZ Dockerfile

例如,要基于Ubuntu镜像来构建一个Java应用,其Dockerfile内容如下:

# 指定基础镜像
FROM ubuntu:16.04
# 配置环境变量,JDK的安装目录、容器内时区
ENV JAVA_DIR=/usr/local
ENV TZ=Asia/Shanghai
# 拷贝jdk和java项目的包
COPY ./jdk8.tar.gz $JAVA_DIR/
COPY ./docker-demo.jar /tmp/app.jar
# 设定时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 安装JDK
RUN cd $JAVA_DIR \
 && tar -xf ./jdk8.tar.gz \
 && mv ./jdk1.8.0_144 ./java8
# 配置环境变量
ENV JAVA_HOME=$JAVA_DIR/java8
ENV PATH=$PATH:$JAVA_HOME/bin
# 指定项目监听的端口
EXPOSE 8080
# 入口,java项目的启动命令
ENTRYPOINT ["java", "-jar", "/app.jar"]
有人提供了基础的系统加JDK环境,我们在此基础上制作java镜像,就可以省去JDK的配置了:
# 基础镜像
FROM openjdk:11.0-jre-buster
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 拷贝jar包
COPY docker-demo.jar /app.jar
# 入口
ENTRYPOINT ["java", "-jar", "/app.jar"]

编写完毕后,将Dockerfile和需要拷贝的jar包上传到Linux中

进入到Dockerfile所在的目录

 查看镜像仓库里上传的项目并安装

 

 

标签:JAVA,java,jar,如何,ENV,编写,TZ,Dockerfile
From: https://www.cnblogs.com/linzepro/p/18228990

相关文章

  • 大数量情况下如何快速从会员登录数据中筛选出5天内连续3天登录的会员
    库表user_login_log表中核心字段:user_id、login_date处理方式:1、大数据处理【数据人员】:通常情况下会把user_login_log表同步到大数据平台,又由数据同事进行处理“5天内连续3天登录的会员”数据,再由大数据平台同步到业务库表。2、定时任务轮训【服务端人员】:轮......
  • 拼多多面试:Netty如何解决粘包问题?
    粘包和拆包问题也叫做粘包和半包问题,它是指在数据传输时,接收方未能正常读取到一条完整数据的情况(只读取了部分数据,或多读取到了另一条数据的情况)就叫做粘包或拆包问题。从严格意义上来说,粘包问题和拆包问题属于两个不同的问题,接下来我们分别来看。1.粘包问题粘包问题是指在网络......
  • 如何去除PDF限制编辑的密码保护?
    PDF文件因其跨平台兼容性和良好的文档格式保持能力,成为商务、学习和日常工作中不可或缺的文件格式。然而,为了保护文件不被随意修改,许多PDF文件都设置了密码保护,特别是编辑权限的限制。本文将详细介绍如何去除pdf密码保护的编辑,特别是编辑权限的限制,以便用户能够自由编辑和修改文件......
  • 大数据信用报告多久查一次比较合适?如何选择查询平台?
    大数据信用在当今提及的频率比较高,同样的也越来越受重视,不少人都在积极的了解自己的大数据信用情况,那大数据信用报告多久查一次比较合适呢?接下来本文带大家从几个方面了解一下,一起去看看吧。从应用场景方面分析:一、风险自测半年一次比较好大家都知道大数......
  • Facebook企业广告账户/如何开户?
     还没接触过facebook广告营销的卖家可能会担心开户费用很高?其实不然,那么小编来给您介绍一下开户需要准备一些什么东西?代理商一般是如何收费的呢?Facebook,Google开企业广告账户/游戏代投1、通过Facebook国内的服务商所开通的国内Facebook企业广告账户是不需要开户费的2......
  • PsShutdown 工具的基本用法和操作流程,帮助他们在远程管理中更方便地实现计算机的关机
    PsShutdown是PSTools工具集中的一款工具,用于远程关闭或重启计算机。以下是PsShutdown工具的初级应用大纲示例:PsShutdown初级应用大纲工具介绍简要介绍PsShutdown工具的作用和功能,以及如何使用它来远程关闭或重启计算机。安装与配置指导用户如何下载、安装和......
  • Python群发邮件的功能如何实现?怎么使用?
    Python群发邮件需要哪些库支持?如何使用Python发信?对于Python开发者来说,实现群发邮件功能是一项非常有用的技能,无论是用于营销、通知还是其他目的。AokSend将介绍如何使用Python来实现群发邮件的功能,让你轻松管理大量邮件发送。Python群发邮件:安装软件要实现群发邮件功能,我......
  • Java邮件发送的基本流程是什么?如何实现?
    Java邮件发送的SMTP服务器如何配置?怎么配置发信?Java邮件发送是在Java应用程序中通过邮件协议(如SMTP)发送电子邮件的过程。它是许多企业级应用程序中常见的功能,用于向用户发送通知、确认邮件等。AokSend将介绍Java邮件发送的基本流程,以及其中涉及的关键步骤。Java邮件发送:创建......
  • 揭秘成功加盟招商背后的营销策略:如何让你的品牌脱颖而出?
    作为一名手工酸奶品牌的创始人,目前全国也复制了100多家门店,我来分享下我是如何做招商加盟,让品牌脱颖而出!一、成功加盟招商的典型营销策略分析1、线上线下渠道的有效整合:线上渠道:利用自媒体渠道、搜索引擎优化(SEO)、内容营销等方式,提高品牌曝光度和吸引力。还可以通过官方网站......
  • Winform中,如何使用ChromiumWebBrowser预览网络pdf文件
    一、开发环境vs2022.net8windows10系统二、准备创建Winform项目(名称随意)通过引入依赖包:CefSharp.WinForms.NETCore三、使用1、安装好依赖包后,会自动在工具箱中显示该控件:ChromiumWebBrowser,直接拖到窗体中2、加载urlpdf文件链接很简单,就一行代码chromiumWeb......