利用docker制作Java程序镜像

Dockerfile自定义镜像 - 基于 java:8-alpine 镜像,将一个Java项目构建为镜像 目录 一、前置知识1.镜像结构2.Dockerfile是什么二、自定义一个 java 项目镜像1.创建一个空目录,在这个空目录中创建一个文件,命名为 DockerFile,最后将 java 项目打包成 jar 包,放到这个目录中2.编写 Dockerfile 文件3.使用 docker build 构建为一个镜像4.使用 docker run 运行镜像我们知道镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成,那么它的层次结构是怎么的呢?镜像是分层结构,每一层称为一个LayerDockerfil 阅读详情

        Docker的使用可以将应用程序做成镜像,这样可以将镜像发布到私有或者公有仓库中,在其他主机上也可以pull镜像,并且运行容器,运行程序。本文主要简单介绍一下如何通过Docker将Java程序创建成一个镜像。

1.建立工作目录

cd java_demo

2.编写程序

        由于简单演示,主要写一个Main.java的程序,代码如下:

import java.util.*;
public class Main{

	public static int solve(int a,int b){
	
		int ans = 0;
		for(int i=0;i<=a;i++){
			ans=ans+a*b;
		}
		return ans;
	}

	public static void main(String[] args){
	
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		System.out.println(solve(a,b));
	
	
	}


}

 3.Dockerfile文件的编写

FROM java:latest
#将当前目录复制到/usr/src/myapp
COPY . /usr/src/myapp
#建立工作目录
WORKDIR /usr/src/myapp

#运行命令
RUN javac Main.java
#自启动命令
CMD ["java","Main"]

 4.制作镜像

cd ~
cd java_demo
sudo docker build -t my-java:first .

查看本地镜像:

 5.上传镜像到私有仓库

        私有仓库的建立已经在前面详细介绍过了,有需要的可以看Ubuntu中利用Docker建立一个私有仓库(可以供远程访问)一文,这里私有仓库的EndPoint(ip:port)为218.197.198.84:5000。

sudo docker tag my-java:first 218.197.198.84:5000/my-java:first
sudo docker push 218.197.198.84:5000/my-java:first

检测私有仓库有没有该镜像:

curl 218.197.198.84:5000/v2/_catalog
curl 218.197.198.84:5000/v2/my-java/tags/list

 

6.测试验证

        在一台安装了Docker的win10主机上下拉镜像并运行容器进行验证。

docker pull 218.197.198.84:5000/my-java:first
docker run -it 218.197.198.84:5000/my-java:first

 

 

Docker | 使用Dockerfile制作镜像 大家好,我是Leo哥🫣🫣🫣,这篇文章中,我们学习了什么是镜像,以及如何自定义镜像。这篇文章我们主要讲一下如果使用Dockerfile快速制作镜像、好了,话不多说让我们开始吧😎😎😎。以上便是本文的全部内容,本人才疏学浅,文章有什么错误的地方,欢迎大佬们批评指正!我是Leo,一个在互联网行业的小白,立志成为更好的自己。如果你想了解更多关于Leo,可以关注公众号-程序员Leo,后面文章会首先同步至公众号。 阅读详情

相关推荐

基于CNN网络的轴承故障诊断

内容参考:《基于卷积神经网络的轴承故障 诊断算法研究》–张伟 代码参考: https://github.com/AaronCosmos/wdcnn_bearning_fault_diagnosis 1 背景: 基于信号处理的特征提取+分类器的传统智能诊断算法,对专家经验要求高,设计耗时且不能保证通用性,已经不能满足机械大数据的要求。提出使用基于卷积神经网络智能诊断算法来自动完成特征提取以及故障识别。 1.1 挑战 机电产品故障诊断面临的挑战,有三大特点: (1)数据量大,专业分析人员的数量严重不足,仅依靠人

weixin_45679938的博客 7万+

Docker构建Java镜像并部署Java项目

本文介绍了如何使用Docker构建一个Java项目的镜像,并在容器中运行它。通过使用Docker,我们可以将Java应用程序打包为一个独立的容器,使得应用程序的部署和管理更加简单和灵活。

阿强的博客 9441

华为灵衢UB总线介绍

华为发布"灵衢"(UB)超节点互联协议,旨在构建支持AI大模型计算的基础设施。该协议采用统一内存语义和对等架构,使设备可直接访问远程内存,实现资源池化。技术突破包括2.1微秒超低时延和TB级带宽,支持64节点、52万张昇腾卡的集群互联。相比传统RDMA,"灵衢"更注重系统级资源调度,而非单纯数据传输。华为开放技术规范,推动生态建设,已有厂商开发兼容IP核。"灵衢"可适应x86、RISC-V等架构,未来将扩展至百万卡规模集群。

技术引领业务创新 4423

为Java应用创建Docker镜像的三种方式

在 Dockerfiles 出现的很久之前,Java 开发者大多使用单体应用方式部署(WARs, JARs, EARs, 等等)。现在如你所知,最好的做法是为每个小业务单独部署的微服务方式。你构建的不是一个巨大的单体应用程序,而是使多个可以独立运行的小服务。 这正是 Docker 的用武之地。如果你想升级一个服务,只需要针对需要升级的服务单元重新构建一个新的 Docker 镜像,二不是像之前那样针对整个应用重新部署 jar/war/ear 包。

codecly的专栏 5640

深信服PT1-AF实验考试

深信服PT1-AF实验考试实验练习可以去深信服的在线实验平台(链接如下):深信服在线实验平台 (sangfor.com.cn)实验考试其实就是把所有的每一部分实验综合了起来以下内容仅做参考,不确保一样。

m0_72019240的博客 7109

UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-4: ordinal not in range(128)

python3报错处理:UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-4: ordinal not in range(128) 一、报错场景 // 报错代码 Traceback (most recent call last): File "test_autoo3_2.py", line 214, in <module> main() File "test_autoo3_2.py",

浪里小飞侠的博客 4201

Docker构建Java镜像及使用

最近在项目中使用到了一些docker技术,因为没有专业的运维人员,所以在部署版本应用的时候,都是自己在进行打包部署。经过一段时间的操作和使用,在这里和大家分享一下自己的心得,也算是做一下总结吧。

Layne的博客 3121

5种隐藏代码到图片的实用技巧:从Notepad++到Linux命令全解析

本文详细解析了5种将代码或文本隐藏到图片中的实用数据隐写技巧。从Notepad++尾部追加、Windows命令行合并,到编辑图像元数据、使用十六进制编辑器,再到Linux的cat/dd命令,全面覆盖了从图形界面到命令行的工程化实践方法,帮助开发者和安全研究人员掌握隐蔽信息传输与存储的核心技术。

hh234的博客 353

java学习第18步——Docker镜像

docker管理镜像,在docker软件中执行镜像可以实现不同软件依赖冲突的问题。1 Docker就是1个软件(不是镜像,镜像是它的一个产品),两个主要功能,管理镜像和容器。在Docker软件中执行镜像可以实现不同软件依赖冲突的问题。学习Docker掌握6个内容:1制作镜像 2 管理镜像 3 管理容器 4管理数据卷 5操作远程和私有仓库 6使用DockerCompose进行集群部署,这个比较难,可以先不用学。

xiaotiig的博客 2251

WVP-GB28181-Pro配置避坑指南:从零到上线全流程详解(含ZLM自动同步技巧)

本文详细解析了WVP-GB28181-Pro视频平台的配置流程,特别针对国标视频平台部署中的常见陷阱,如stream-ip/sdp-ip配置错误、ZLM自动同步问题及端口冲突等,提供了实用的解决方案和优化建议,帮助开发者快速实现从零到上线的全流程部署。

weixin_30836759的博客 93

20、机器人硬件改造与Geomagic Touch设备的运动学和动力学模型

本文详细介绍了机器人CRS 465和255的硬件改造过程,包括数字阶段、模拟阶段、功率阶段及软件实现,并深入研究了Geomagic Touch触觉设备的五自由度与三自由度运动学、微分运动学及动力学模型。文章还探讨了其在虚拟手术、装配等场景中的应用,提出了硬件与模型优化方向,如电源管理改进、信号处理优化、参数校准与自适应控制,并展望了多机器人协作、多传感器融合与智能控制算法的发展前景。

e4f5g6h7的博客 121

docker 映射java程序_Docker Java程序镜像制作

Docker Java程序镜像制作制作前的准备jre:不需要完整的jdk,jre即可,到Oracle进行下载即可,下载链接,根据自己的情况进行选择,这里选择jre-8u221-linux-x64.tar.gz,一般只能使用解压安装了,rpm的可以直接使用yum命令进行安装,但我们这里用不了jar包:自己写好的程序的可执行jar,放到镜像中直接运行即可制作步骤mkdir docker:创建一个制作镜...

weixin_39616056的博客 337

【Proteus仿真】点亮小灯系列仿真——小灯闪烁/流水灯/交通灯

本文介绍了基于AT89C51单片机的LED控制案例,共包含5个实例:1)单个LED闪烁;2)共阳极流水灯;3)共阴极流水灯;4)花样流水灯;5)交通灯模拟。每个案例详细说明了电路原理图、接线方式和控制程序实现,其中重点讲解了PWM调光原理及其在LED控制中的应用。案例由简至繁,从基础I/O控制到复杂花样显示,最后实现交通灯逻辑控制,展示了单片机在LED控制中的典型应用方法。文中提供了完整的源代码,便于读者理解和实践。

XU157303764的博客 1883

docker java镜像_Docker 封装java镜像

一、概述目前java采用的框架是Spring,服务器直接通过java -jar xxx.jar就可以启动服务了。二、jdk镜像在docker中跑java应用,需要有jdk环境支持才行。获取jdk镜像,有2种方式。1. 自己制作jdk镜像2. 使用Docker Hub 现成的jdk镜像。首先说明一下,自己制作jdk镜像。如果基础镜像采用centos,ubuntu,那么制作出来的镜像会特别大。Alpi...

weixin_39581719的博客 315

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

docker安装部署

公司的系统最近都需要docker来搞,所以楼主也是亚历山大,但是最终还是弄出来一点点东西,需要用到docker的读者在对照此文操作之前建议先在网上了解一下docker,当然是越多越好咯。 楼主在本地安装了一个centos7虚拟机来做测试: 1.安装docker 以centos7虚拟机为例: $ sudo yum install  -y docker 2.获取镜像: 先用

yabbyyabby的专栏 2481

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Docker的几个应用示例

先说一下个人的一些思考。如果用docker来管理程序的部署,我们有两种方式,第一种是将我们的程序打包成镜像的方式并推送到docker本地仓库,然后将镜像实例化并运行。第二种方式是直接运行docker中的tomcat,但tomcat使用的war文件来自宿主机器(即docker服务器),这样我们每次只需覆盖掉war文件,然后重启tomcat即可,而非频繁的去推送镜像。后面使用docker来运行普通的j...

Simon's Dream 7785

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

利用Dockerfile制作自己的Docker镜像

制作属于自己的Docker镜像,一般有两种方式,第一种为commit方式,利用已有的镜像,运行后安装定制自己需要的环境,然后生成镜像;另一种就是build方式,通过编写Dockerfile命令脚本进行生成镜像。 方法2:docker build # 编写Dockerfile命令脚本文件自动化制作 image 使用Dockerfile是更推荐的方式,这样可以让使用者更清晰地看到这个镜像的制作细节,逻辑清晰,便于管理。 创建存放Dockerfile的目录,后续操作将在这个目录下进行。 mkdir

u010797364的博客 1万+

Docker镜像的制作、上传、拉取和部署(利用阿里云)

由于学习过程中发现push镜像的时候一直超时,所以直接把阿里云的Docker仓库申请一个(管理中心–>创建镜像仓库–>我的是华东2绑定github账户即可),搞定!以后push就用这个仓库,pull的时候使用加速器,注意切换根据使用场景进行切换,dockerhub丢弃……记录了一下操作流程: 1.创建命名空间hhu(以当前学校为单位,只能小写,每个账号只能创建5个),创建菜鸟Docker镜像仓库

jacksonary的博客 7万+

docker镜像java制作,Docker将JAVA程序制作成镜像

在IDEA中编写的JAVA程序,maven打包后,部署到docker,主要有以下几种方式:1、maven打成jar包,上传服务器。编写Dockerfile后,使用命令制作镜像2、IDEA使用docker插件和dockerfile-maven-plugin插件打包镜像1、dockfile制作jar包镜像1、在IDEA中编写java程序,并maven打成jar包。注意application.prope...

weixin_29898529的博客 1440

docker制作自己的镜像

我们今天需要利用docker制作一个镜像,便于分享与使用那么,我们制作一个镜像需要什么,要准备哪些“原材料”?比如,我们用Java编写了一个应用,并打包成jar第一,我们需要编写一个Dockerfile,里面含制作镜像的command。而后docker的builder根据指令,拿着指令和app.jar制作镜像镜像里面有基础环境(例如jdk),软件包,启动命令。

m0_73118788的博客 1542

Docker Java程序镜像制作

Docker Java程序镜像制作 制作前的准备 jre:不需要完整的jdk,jre即可,到Oracle进行下载即可,下载链接,根据自己的情况进行选择,这里选择jre-8u221-linux-x64.tar.gz,一般只能使用解压安装了,rpm的可以直接使用yum命令进行安装,但我们这里用不了 jar包:自己写好的程序的可执行jar,放到镜像中直接运行即可 制作步骤 mkdir ...

banyaonian7841的博客 1470

制作各种docker镜像

制作各种docker镜像及命令

YuZhiHui_No1的专栏 3万+

07-Docker镜像制作实践

Docker简介 概述 官网( https://www.docker.com/)是这样介绍docker的: Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications… 其实看完这句话还是不明白docker究竟是什么? 我们可以把他想象成是一个用了一种新颖方式实现的超轻量虚拟机或者说平台。当然在实现的原理和应用上还是和VM有巨大差别的,并且专业的叫法是应用容器

雨田说码 1万+

【Java】程序制作Docker镜像 推荐方案

文章目录背景制作条件Dockerfile指令:实践步骤使用官网提供的基础镜像作为镜像基础设定容器的正确的时间和时区容器中采用非 root 用户权限启动应用程序DockerFile样例COPY 与 ADD 区别举个栗子 背景 随着我们分布式的观念在各个领域使用,docker容器也逐渐的背大家所认可和使用,那么我们想制作容器就得有镜像如何制作镜像呢?请往下看,Dockerfile就是制作镜像的原始武器: Dockerfile由一行行命令语句组成,并且支持用“#”开头作为注释,一般的,Dockerfile分为四部

瑞新の博客:bennyrhys 4860

springboot程序制作docker镜像部署

Dockerfile 是用于构建 Docker 镜像的文本文件,其中包含了一系列的指令和配置,描述了如何组装一个完整的容器环境。通过 Dockerfile,开发者可以定义容器的基础操作系统、软件包安装、环境变量、启动命令等方面的设置,最终形成一个可重复构建和部署的容器镜像。Docker 根据 Dockerfile 中的指令逐步构建镜像,每个指令都会创建一个新的镜像层。通过 Dockerfile,开发者可以定义容器的构建规则,实现可移植、可复制的容器环境。: 容器启动时执行的默认命令,可以被覆盖。

三万少女的梦中刺客的博客 1195

docker-镜像制作

镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,这个脚本就是 Dockerfile。Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。

ck的博客 1843
上一篇: Ubuntu中利用Docker建立一个私有仓库(可以供远程访问)
下一篇: 爬虫入门实践之使用Urllib爬取网页
carson0408
博客等级 码龄9年 238粉丝 225原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值