我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Docker 封装java镜像

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Docker 封装java镜像

目前java采用的框架是Spring,服务器直接通过

java -jar xxx.jar

就可以启动服务了。

 

在docker中跑java应用,需要有jdk环境支持才行。

获取jdk镜像,有2种方式。

1. 自己制作jdk镜像

2. 使用Docker Hub 现成的jdk镜像。

 

首先说明一下,自己制作jdk镜像。如果基础镜像采用centos,ubuntu,那么制作出来的镜像会特别大。

Alpine只有5M,可以通过作为基础镜像,来制作镜像。但是会有2个问题:1. 直接调用java命令会报错。2. 时区不是中国时区。

基于2个问题,我采用的是2种方式。

https://hub.docker.com/r/mayan31370/openjdk-alpine-with-chinese-timezone/tags

 

这个镜像,已经帮你解决了,上面2个问题。而且,镜像本身,也做了优化。只有68M左右,非常小。

 

有了jdk镜像后,封装java就简单多了。

创建目录

创建应用目录,文件如下:

.
├── Dockerfile
└── RMS.jar

 

Dockerfile

FROM mayan31370/openjdk-alpine-with-chinese-timezone:8-jdk
ADD RMS.jar .
EXPOSE 8080
ENTRYPOINT [ "java", "-jar", "RMS.jar" ]

注意:这个jar启动,会监听8080端口。

 

RMS.jar是已经打包好的java应用。

 

生成镜像

docker build -t rms .

 

启动镜像

docker run -it -p 8080:8080 rms /bin/bash

输出:

.   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.5.9.RELEASE)

2019-10-31 16:10:02.517 [main] INFO  com.iaicmt.rms.RmsApplication - Starting RmsApplication v1.0-SNAPSHOT on e6c7908e56ab with PID 1 (/RMS.jar started by root in /)
...
2019-10-31 16:10:13.321 [main] INFO  o.s.j.e.a.AnnotationMBeanExporter - Registering beans for JMX exposure on startup
2019-10-31 16:10:13.549 [main] INFO  o.s.b.c.e.u.UndertowEmbeddedServletContainer - Undertow started on port(s) 8080 (http)
2019-10-31 16:10:13.570 [main] INFO  com.iaicmt.rms.RmsApplication - Started RmsApplication in 12.483 seconds (JVM running for 14.623)



访问页面

# curl 127.0.0.1:8080
{"timestamp":1572509686431,"status":200,"error":"","message":"Null","path":"/"}

 


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Docker 封装java镜像

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Docker 封装java镜像

目前java采用的框架是Spring,服务器直接通过java-jarxxx.jar就可以启动服务了。在docker中跑java应用,需要有jdk环境支持才行。获取jdk镜像,有2种方式。1. 自己制作jdk镜像2. 使用Docker Hub
2023-01-31

docker封装mysql镜像

直接使用官方的镜像dockerpullmysql:5.7但是mysqld.cnf并没有优化,还是默认的。创建目录#dockerfile目录mkdir-p/opt/dockerfile/mysql#持久化目录mkdir-p/data/mysq
2023-01-31

docker封装redis镜像

线上使用的redis版本为3.2.13,但是dockerhub没有此版本的镜像。只有3.2.12但是默认的镜像启动时,是没有redis.conf的,如果需要加配置,需要自己定义配置文件。创建目录#dockerfile目录mkdir-p/op
2023-01-31

docker怎么安装ubuntu镜像

要安装Ubuntu镜像,您需要执行以下步骤:首先,确保您已经安装了Docker。如果您还没有安装Docker,请根据您的操作系统执行适当的安装步骤。打开终端或命令提示符,并运行以下命令来搜索可用的Ubuntu镜像:docker searc
2023-10-26

docker安装mysql、redis镜像方式

目录docker安装mysql、Redis镜像redis安装下载mysql安装下载docker安装使用及用docker安装mysql,Redis,nacos安装docket常用命令使用docker安装MySQL使用docker安装Redis
2023-04-26

Docker如何安装配置Redis镜像

这篇文章主要介绍Docker如何安装配置Redis镜像,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言如何安装Redis镜像,创建Redis容器并且映射端口挂载数据卷和配置数据。环境CentOS 7Docker 2
2023-06-25

linux怎么安装本地docker镜像

要在Linux上安装本地Docker镜像,您需要执行以下步骤:1. 首先,确保您已经安装了Docker引擎。您可以使用以下命令来检查Docker是否已经安装:```docker --version```如果它显示了Docker版本信息,则表
2023-08-23

docker制作镜像

从 rootfs 压缩包导入格式:docker import [选项] <文件>||- [<仓库名>[:<标签>]]压缩包可以是本地文件、远程 Web 文件,甚至是从标准输入中得到。压缩包将会在镜像 / 目录展开,并直接作为镜像第
2023-01-30

idea使用docker生成镜像(打包镜像,导入镜像,导出镜像)

本文详细讲解了在IDEA中使用Docker生成、导入和导出镜像。生成镜像包括打包和提交变更;导入镜像支持从仓库或文件;导出镜像可导出为TAR文件或OCI格式。最佳实践建议使用有意义的镜像名称、多级构建、添加元数据以及清理未使用的镜像以优化使用。
idea使用docker生成镜像(打包镜像,导入镜像,导出镜像)
2024-04-02

docker镜像alpine中安装oracle客户端

目录1.背景2.下载instant_client程序包3.dockerfile说明:4.遇到的问题4.1.找不到libclntsh.so动态连接库4.2.找不到libaio.so.1动态连接库4.3.找不到libnsl.so.1动态连接库1
2022-06-28

docker中安装elasticsarch等镜像的过程

这篇文章主要介绍了docker中安装elasticsarch等镜像,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2022-12-26

用户在 Linux Docker 镜像正常,而 Windows Docker 镜像失败时

欢迎各位小伙伴来到编程网,相聚于此都是缘哈哈哈!今天我给大家带来《用户在 Linux Docker 镜像正常,而 Windows Docker 镜像失败时》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都
用户在 Linux Docker 镜像正常,而 Windows Docker 镜像失败时
2024-04-04

如何安装harbor作为docker镜像仓库

本篇内容介绍了“如何安装harbor作为docker镜像仓库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!docker.service 如下
2023-07-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录