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制作Java程序镜像相关推荐

  1. Docker 3.2.10:基于 Dockerfile 制作 java 程序镜像

    3.2.10:基于 Dockerfile 制作 java 程序镜像 准备基础镜像 以 centos-tomcat:8.5.60 为基础镜像,构建业务镜像: 编写 Dockerfile 创建业务镜像的 ...

  2. Docker——使用Dockerfile制作java程序镜像

     1.准备制作镜像需要的jar包和java镜像 上传jar包到/home/docker目录下 拉取java镜像:docker pull java:8 2.在jar包同级目录下创建Dockerfile文 ...

  3. Docker Java程序镜像制作

    Docker Java程序镜像制作 制作前的准备 jre:不需要完整的jdk,jre即可,到Oracle进行下载即可,下载链接,根据自己的情况进行选择,这里选择jre-8u221-linux-x64. ...

  4. Docker创建一个java程序镜像

    Docker创建一个java程序镜像 什么是Dockerfile 指令及其说明 个人镜像创建流程 Dockerfile文件创建 使用docker build命令构建镜像 运行镜像 附文件目录结构 什么 ...

  5. 利用InstallAnywhere制作JAVA可执行程序安装文件

    利用InstallAnywhere制作JAVA可执行程序安装文件(转) 转自http://hi.baidu.com/chinagenius/blog/item/e54829de4713095f94ee ...

  6. 利用TPTP对Java程序进行性能测试

    简单地说,TPTP 是一个EclipseFoundation 顶级项目,它的目标是:构建一个通用的可扩展的基于标准的工具平台,软件开发人员可以在这个平台上创建专用的可互操作的...测试和性能工具. T ...

  7. 利用终端运行java程序

    利用终端运行JAVA程序 开发Java程序,需要三个步骤:编写程序,编译程序,运行程序 不过首先得配置好你电脑中的Java环境变量,才能执行. 1,首先编写一个程序 打开记事本编写一个文件,就以Hel ...

  8. 利用exe4j将java程序打包成exe可执行文件

    利用exe4j将java程序打包成exe可执行文件 一直在用exe4j,很好用,包括现在电脑中很多在使用的java程序,都是用exe4j打包的,所以也想做一些博客,来跟小伙伴们一起分享我的学习,让大家 ...

  9. kitematic利用docker下载mysql的镜像

    -> 点击mysql的 "Create" 按钮. kitematic利用docker下载mysql的镜像 点击右侧"Setting" 按钮, 在" ...

  10. docker制作深度学习镜像(以windows环境下为例)

    向AI转型的程序员都关注了这个号???????????? 人工智能大数据与深度学习  公众号:datayx 用 Docker 安装深度学习环境,轻量.方便!整个系统大小仅需2~3G,用完还能带着走!一 ...

最新文章

  1. RJ-45接口连接线、MDI/MDIX接口
  2. 环境调试: RuntimeWarning: Couldn‘t find ffmpeg or avconv - defaulting to ffmpeg, but may not work warn(“
  3. 【转】Docker学习_本地/容器文件互传(5)
  4. 解决MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy require...
  5. java excel解析 poi_Java解析Excel之POI(一)
  6. vba mysql 非法字符串_非法字符串处理.sql
  7. TIOBE 6 月编程语言排行榜:Python 势不可挡,或在四年之内超越 Java、C
  8. fscapture设置中文_Fscapture是什么软件?有没有功能介绍?
  9. java drawstring字体大小_java – 不同大小的JLabel中心drawString()文本
  10. Scrapy学习-13-使用DownloaderMiddleware设置IP代理池及IP变换
  11. Servlet请求和响应
  12. SpringBoot整合editormd富文本编辑器
  13. 比较流行的日志分析软件
  14. 面试官都叫好的Synchronized底层实现,这工资开多少一个月?
  15. 基于matlab的车牌定位算法设计与实现,原创】基于matlab的汽车牌照识别系统设计与实现...
  16. 屏幕坐标系转为笛卡尔坐标系
  17. rand和srand的用法
  18. 适合小白入门的随机森林介绍
  19. SpringCloud-Alibaba之Nacos服务注册和发现
  20. 热风枪使用之碳化温度

热门文章

  1. 【知识图谱】Neo4j 导入数据构建知识图谱的三种方法
  2. JAVA 正则表达式 练习 (简直深恶痛绝!!)
  3. 畅游高管曝出“k事件” 搜狐的老本往后怎么“吃”?
  4. session fixation漏洞简述
  5. SylixOS的来龙去脉
  6. Molten 功能简介以及使用指南
  7. php composer.phar install,解决composer.phar安装问题
  8. 【DX12】DirectX Math库 Vector和Matrix类型 XMVECTOR、XMMATRIX
  9. python正则匹配连续相同字符_正则表达式: 匹配n个相同连续字符
  10. 新世界黑客与匿名者组织宣布对美国DNS服务的大规模DDoS攻击负责