docker 运行java程序_Docker:在容器中运行Java应用程序
您可以使用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应用程序相关推荐
- java cpu分配_容器中的Java:资源分配准则
短短几年内,容器就改变了软件行业的面貌.也许您已经到了在容器中运行Java的地步.那很棒!不幸的是,关于容器化Java应用程序的CPU和内存使用率,还有一些事情要注意,我将在下面概述. 本文假定总体上 ...
- 如何在Docker容器中运行GUI程序
如何在Docker容器中运行GUI程序 各位,今天我们将学习如何在Docker之中运行GUI程序.我们可以轻易地在Docker容器中运行大多数GUI程序且不出错.Docker是一个开源项目,提供了一个 ...
- docker安装_以简便的方式监控Docker容器中的ADF应用程序
docker安装 在这篇简短的文章中,我将展示一种简单的方法来确保在Docker容器中运行的ADF应用程序在内存利用率方面是健康的Java应用程序. 我将使用标准工具JConsole,它是计算机上JD ...
- docker 容器监控_以简便的方式监控Docker容器中的ADF应用程序
docker 容器监控 在这篇简短的文章中,我将展示一种简单的方法来确保在Docker容器中运行的ADF应用程序在内存利用率方面是健康的Java应用程序. 我将使用标准工具JConsole,它是计算机 ...
- 轻松监控Docker容器中的ADF应用程序
在这篇简短的文章中,我将展示一种简单的方法,以确保在Docker容器中运行的ADF应用程序在内存利用率方面是健康的Java应用程序. 我将使用标准工具JConsole,它是计算机上JDK安装的一部分. ...
- 在Linux和Windows的Docker容器中运行ASP.NET Core
译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了.那么我就来翻译一下这篇文章,让更多的中文读者看到.当然Scott遇到的坑我也遇 ...
- vs附加其它计算机应用到进程,如何将VS代码附加到在docker容器中运行的节点进程...
我试图将Visual Studio代码调试程序附加到在Docker容器中运行的node.js应用程序. 我启动应用程序,如: node --debug-brk app.js 我在docker-comp ...
- 如何在Docker容器中运行Docker [3种方法]
在本博客中,我将向您介绍在docker中运行docker所需的三种不同方法. Docker In Docker的用处 dockerIndocker的一个潜在用处是CI管道,在代码成功构建后,您需要在其 ...
- 【Rust日报】 2019-05-27:toast - 支持在docker容器中运行任务的工具
Rust中文社区翻译小组招募 #activity #RustChina 首批任务:Rust官网翻译 这里有详细说明 https://github.com/rust-lang/www.rust-lang ...
最新文章
- MySQL导入.sql文件及常用命令
- Eclipse里的Java EE视图在哪里?MyEclipse里的Java EE视图在哪里?MyEclipse里的MyEclipse Java Enterprise视图在哪里?(图文详解)...
- Codeforces Gym101246C:Explode 'Em All(DP + bitset)
- mac远程redis_MAC安装redis
- 137.三网?哪三网?139.网络协议三要素?141.网络安全有哪些方面?
- 学习Python,在人工智能的风口抢占未来
- 递归下降分析法的基本思想。_还不懂这八大算法思想,刷再多题也白搭!
- class matplotlib.markers.MarkerStyle(marker=None, fillstyle=None)
- PicoDet网络结构在YOLOv5-Lite上的复现
- 读redis->双重检测同步锁->防止Redis缓存击穿
- 13penrose广义逆矩阵(I)
- 基于VUMAT复合材料夹层结构冲击仿真
- android手机误删短信恢复软件,安卓手机重要短信误删了是否可以找回
- 服务器端口是什么?在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是
- ZYNQ系列(一) Petalinux建立工程
- java excel转pdf
- Cash-Secured Puts Vs. Covered Calls
- 从软件外包到阿里技术专家再到CTO,他究竟是如何一路晋升?
- java微信支付v3系列——1.微信支付准备工作
- 如何在 Lightroom 中使用去朦胧功能?