您可以使用Docker在特定的运行时环境中运行容器中的Java应用程序。本教程介绍如何创建Dockerfile,以便在OpenJDK 8的容器中运行简单的Java应用程序。

示例应用程序由一个Main.java文件组成,该文件打印Hello World!到控制台并退出。编译输出位于/out/production/DockerJavaApp下的项目目录中。

在容器中运行Java应用程序

在项目工具窗口中,右键单击项目名称,指向“新建(New)”并单击“文件(File)”。

在“新建文件(New File)”对话框中,键入Dockerfile并单击“确定”。

在新的Dockerfile中键入以下内容:

FROM openjdk:8

COPY ./out/production/DockerJavaApp/ /tmp

WORKDIR /tmp

ENTRYPOINT ["java","Main"]

单击“运行Docker(Run on Docker)”阴影图标(

),然后单击“'Docker'上的运行(Run on 'Docker')”。

IntelliJ IDEA创建一个Docker运行配置,它从Dockerfile构建一个映像,然后根据该映像运行一个容器。输出目录(Main.class)的内容被复制到容器中的/tmp目录中。然后它从/tmp目录中运行该java Main命令。因此,您应该看到Hello World!打印到容器日志。

例如,您可以与其他人分享图像,以准确演示您的应用程序如何运行,而无需安装必要的运行时(仅需要Docker)。

要共享构建的图像,您需要配置一个Docker注册表 ,您可以在其中拥有图像推送权限。例如,您可以在Docker Hub上创建一个帐户, 并使用公共或私人存储库共享图像,或设置您自己的Docker注册表。

将您的Java应用程序作为Docker镜像共享

在Docker工具窗口中,找到从Dockerfile构建的图像。默认情况下,它由唯一图像ID指定,因为未提供图像标记。您可以编辑相应的运行配置并指定您选择的图像标签。要找出图像ID,请选择您从Dockerfile运行的容器并打开“属性(Properties)”选项卡。

右键单击具有所需ID的图像,然后在上下文菜单中单击“推送图像(Push Image)”。

在“推送图像(Push Image)”对话框中,选择您的注册表,指定图像的存储库名称和标记,然后单击“确定”。

一旦图像被推送到注册表中,任何有权访问的人都可以将其拉出并从图像中运行一个容器。

docker 运行java程序_Docker:在容器中运行Java应用程序相关推荐

  1. java cpu分配_容器中的Java:资源分配准则

    短短几年内,容器就改变了软件行业的面貌.也许您已经到了在容器中运行Java的地步.那很棒!不幸的是,关于容器化Java应用程序的CPU和内存使用率,还有一些事情要注意,我将在下面概述. 本文假定总体上 ...

  2. 如何在Docker容器中运行GUI程序

    如何在Docker容器中运行GUI程序 各位,今天我们将学习如何在Docker之中运行GUI程序.我们可以轻易地在Docker容器中运行大多数GUI程序且不出错.Docker是一个开源项目,提供了一个 ...

  3. docker安装_以简便的方式监控Docker容器中的ADF应用程序

    docker安装 在这篇简短的文章中,我将展示一种简单的方法来确保在Docker容器中运行的ADF应用程序在内存利用率方面是健康的Java应用程序. 我将使用标准工具JConsole,它是计算机上JD ...

  4. docker 容器监控_以简便的方式监控Docker容器中的ADF应用程序

    docker 容器监控 在这篇简短的文章中,我将展示一种简单的方法来确保在Docker容器中运行的ADF应用程序在内存利用率方面是健康的Java应用程序. 我将使用标准工具JConsole,它是计算机 ...

  5. 轻松监控Docker容器中的ADF应用程序

    在这篇简短的文章中,我将展示一种简单的方法,以确保在Docker容器中运行的ADF应用程序在内存利用率方面是健康的Java应用程序. 我将使用标准工具JConsole,它是计算机上JDK安装的一部分. ...

  6. 在Linux和Windows的Docker容器中运行ASP.NET Core

    译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了.那么我就来翻译一下这篇文章,让更多的中文读者看到.当然Scott遇到的坑我也遇 ...

  7. vs附加其它计算机应用到进程,如何将VS代码附加到在docker容器中运行的节点进程...

    我试图将Visual Studio代码调试程序附加到在Docker容器中运行的node.js应用程序. 我启动应用程序,如: node --debug-brk app.js 我在docker-comp ...

  8. 如何在Docker容器中运行Docker [3种方法]

    在本博客中,我将向您介绍在docker中运行docker所需的三种不同方法. Docker In Docker的用处 dockerIndocker的一个潜在用处是CI管道,在代码成功构建后,您需要在其 ...

  9. 【Rust日报】 2019-05-27:toast - 支持在docker容器中运行任务的工具

    Rust中文社区翻译小组招募 #activity #RustChina 首批任务:Rust官网翻译 这里有详细说明 https://github.com/rust-lang/www.rust-lang ...

最新文章

  1. MySQL导入.sql文件及常用命令
  2. Eclipse里的Java EE视图在哪里?MyEclipse里的Java EE视图在哪里?MyEclipse里的MyEclipse Java Enterprise视图在哪里?(图文详解)...
  3. Codeforces Gym101246C:Explode 'Em All(DP + bitset)
  4. mac远程redis_MAC安装redis
  5. 137.三网?哪三网?139.网络协议三要素?141.网络安全有哪些方面?
  6. 学习Python,在人工智能的风口抢占未来
  7. 递归下降分析法的基本思想。_还不懂这八大算法思想,刷再多题也白搭!
  8. class matplotlib.markers.MarkerStyle(marker=None, fillstyle=None)
  9. PicoDet网络结构在YOLOv5-Lite上的复现
  10. 读redis->双重检测同步锁->防止Redis缓存击穿
  11. 13penrose广义逆矩阵(I)
  12. 基于VUMAT复合材料夹层结构冲击仿真
  13. android手机误删短信恢复软件,安卓手机重要短信误删了是否可以找回
  14. 服务器端口是什么?在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是
  15. ZYNQ系列(一) Petalinux建立工程
  16. java excel转pdf
  17. Cash-Secured Puts Vs. Covered Calls
  18. 从软件外包到阿里技术专家再到CTO,他究竟是如何一路晋升?
  19. java微信支付v3系列——1.微信支付准备工作
  20. 如何在 Lightroom 中使用去朦胧功能?

热门文章

  1. 大乱斗ps4好玩吗_你们这些大佬玩游戏一定要这么骚吗?
  2. 一、Echarts图表之X轴(xAxios)与Y轴(yAxios)配置项大全
  3. Http接口调试工具-在线postman工具
  4. java之条数和页数
  5. js 中控制打印方向横向还是纵向。
  6. 电脑出现entering power save mode进入省电模式解决办法
  7. pathping跟踪数据包的路径
  8. 取各位数字c语言程序,取出数字的每一位
  9. 谈谈数据驱动和报表在中小企业信息化软件设计的重要作用
  10. zip object at 0x0000027A07FFB8C0