Docker部署(1)——将jar包打成docker镜像并启动容器

news2024/9/21 4:37:45

        在代码编写完成即将部署的时候,如果采用docker容器的方法,需要将jar包打成docker镜像并通过镜像将容器启动起来。具体的步骤如下。

一、首先下载java镜像

        先使用docker search java命令进行搜索。

         然而在拉取镜像的时候要注意不能直接去选择pull java ,不然会出现manifest for java:latest not found: manifest unknown: manifest unknown 的报错。

 正确的做法是:在search的时候指明好版本,然后在进行pull操作。

docker search jdk8

         然而在pull的时候,发现还是超时了,出现这种情况一般是没有配好镜像源或者配置的镜像源失效了。

         我打开镜像源进行查看,并且对镜像源进行ping的操作,然而发现前面两个镜像都能 ping通,但后面尝试继续去pull 镜像,发现仍然失败,最后我只保留了自己配置的阿里云镜像,发现可以正常pull 成功。(这里我其实也没有弄的很明白,原来配置了三个镜像源地址反而pull不成功,而且前面两个地址可以ping通,但是发现这几个网站单独并不能打开)

改成一个镜像后再search 和 pull 好了

 二、新建一个工作目录,将jar包拷贝进去

 三、新建一个Dockerfile文件

文件内容如下:

FROM dockette/jdk8
WORKDIR /test
COPY  jx-system-0.0.1-SNAPSHOT.jar   /test/jx-system-0.0.1-SNAPSHOT.jar
CMD ["java","-jar","jx-system-0.0.1-SNAPSHOT.jar","-Dfile.encoding=utf-8"]

代码解释

  • FROM dockette/jdk8 ——表示基于dockette/jdk8镜像构建
  • WORKDIR /test ——表示指定容器内的工作目录为/test
  • COPY ——拷贝jx-system-0.0.1-SNAPSHOT.jar到容器工作目录/test
  • CMD ——执行java启动jar的指令。

 四、构建镜像并启动容器

docker build -t app-docker .

表示从当前目录构建镜像,这条命令会把当前目录下文件全部打包发送到docker引擎服务端,然后在服务端根据Dockerfile进行构建操作。

        而命令 docker run -it --network my-net  -p 20233:20233 --name appd -d app-docker 表示把容器启动起来。根据刚才的Dockerfile配置,容器生成后,必然会在容器根目录下生成test目录,并且test目录下存在app.jar文件,容器执行CMD定义的指令也是基于test目录的。

完成之后可进入容器内部查看

docker exec -it app /bin/bash

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/659894.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kubernetes(k8s)理论篇

注意:kubeadm与docker是有版本要求的。 如果版本不兼容,初始化 kubeadm是会出现以下问题。 学习k8s掌握知识 基础概念 什么是 Pod 控制器类型 K8S 网络通讯模式 Kubernetes 构建 K8S 集群 资源清单 资源 掌握资源清单的语法 编写 Pod 掌握 Pod 的…

C国演义 [第四章]

第四章 全排列题目理解步骤树形图递归函数递归结束条件单层逻辑 代码 全排列II题目理解步骤递归函数递归结束条件单层逻辑 代码 全排列 力扣链接 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输…

简要介绍 | 深度学习中的自注意力机制:原理与挑战

注1:本文系“简要介绍”系列之一,仅从概念上对深度学习中的自注意力机制进行非常简要的介绍,不适合用于深入和详细的了解。 注2:"简要介绍"系列的所有创作均使用了AIGC工具辅助 深度学习中的自注意力机制:原…

android jetpack databinding的基本使用(java)

目录 databing的基本使用二级页面的绑定自定义BindingAdapter自定义BinddingAdapter的可选旧值双向绑定使用ObservableField来进行双向绑定 在recycleview中使用databinding databing的基本使用 开启databing android {........dataBinding{enable true} }修改布局文件 为布…

Unity UGUI6——UGUI进阶

一、UI 事件监听接口 ​ 目前所有的控件都只提供了常用的事件监听列表 ​ 如果想做一些类似长按,双击,拖拽等功能是无法制作的,或者想让 Image 和 Text,RawImage 三大基础控件能够响应玩家输入也是无法制作的 ​ 而事件接口就是…

Elasticsearch 基本使用(三)条件查询

条件查询 单条件查询matchdebug 查看分词结果match_phrase 多条件查询bool 子元素区别 单条件查询 match match 匹配字段,会对条件分词,然后每个词以or的关系在文档倒排索引内进行查询 GET bank/_search {"query": {"match": {&q…

一起学SF框架系列6.1-模块core-Resource

Java虽然提供了java.net.URL类和各种URL前缀处理程序来负责处理对各种资源的访问,但对于低级别资源的访问来说还是不够充分。例如,没有标准化的实现可用于访问需要从类路径中获取或者相对于一个ServletContext的资源;也没有检查所指向的资源是…

火影手游 问答题小抄

文章目录 Part.I IntroductionPart.II 一些常识Chap.I 基础常识Chap.II 人物相关Chap.III 原作相关Chap.III 游戏相关 Part.III 奥义 & 技能Chap.I S 忍Chap.II A 忍Chap.III B 忍Chap.IV C 忍 Part.IV 针对活动Chap.I 组织樱花祭Chap.II 樱花问答 Pary.V 名言Reference Pa…

群辉DSM7.2安装svn服务

Part1前言 今天研究了一晚上使用群辉安装svn,确实挺多坑的,总结记录一下。我的型号是DS220,版本为DSM 7.2 Part2安装docker 首先打开套件中心,如下图,检索docker 然后点击安装,安装之后打开如下&#xff1a…

Clickhouse之物化视图分享

前言 ClickHouse广泛用于用户和系统日志查询场景中,主要针对于OLAP场景,为业务方提供稳定高效的查询服务。在业务场景下,数据以不同的格式、途径写入到clickhouse。用传统JOIN方式查询海量数据,通常有如下痛点: 每个查询的代码冗…

【TOP生物信息】基于Scanpy的单细胞数据质控、聚类、标注

扫码关注下方公粽号,回复推文合集,获取400页单细胞学习资源! 「写在前面」 Python作为一种高级编程语言,被广泛用于单细胞数据分析,有着以下的优势: 「大量的生物信息学库:」 Python拥有大量的…

【UE 从零开始制作坦克】6-坦克开炮

效果 步骤 1. 添加初学者内容包(需要用到其中的音效和粒子效果) 2. 接下来制作坦克的炮弹 首先新建一个Actor蓝图类,作为所有发射物体(炮弹、机枪子弹等)的父类,这里命名为“TotalCategoryOfProjectile”…

从清华高材生拿到百万年薪offer说起

这几天在脉脉上看到一个很火的帖子,帖子内容是一位清华姚班毕业的博士,透露其拿到「亚马逊应用科学家」的offer,Base 110k/月+股票400K分四年给,还有195k的签字费。 清华姚班毕业薪资 看到这张截图博主留下了羡慕的泪…

搞懂了,React 中原来要这样测试自定义 Hooks

React 中自定义的 Hooks 为开发者提供了重用公共方法的能力。然而,如果你是一个测试新手的话,测试这些钩子可能会很棘手。本文中,我们将探索如何使用 React Testing Library 测试库来测试自定义钩子。 如何测试 React 组件 开始前&#xff…

【统计模型】生存分析基本知识介绍

目录 一、生存分析介绍 1.生存分析用途 2.传统方法在分析随访资料时的困难 (1)生存时间和生存结局都是我们关心的因素 (2)存在大量失访 (3)显然,将失访数据无论是算作死亡还是存活都不合理…

CSS基础学习--20 提示工具(Tooltip)

一、定义 提示工具在鼠标移动到指定元素后触发&#xff0c;总共四种样式实例&#xff1a; 二、基础提示框(Tooltip) 提示框在鼠标移动到指定元素上显示 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>CSS基础学习-提…

【RV1126】IIC驱动--EEPROM

文章目录 原理图查找空闲的I2CEEPROM芯片改设备树编写驱动驱动端设备端驱动端和设备端编译成驱动模块应用层的测试代码 原理图查找空闲的I2C 由上面可以知道&#xff0c;空闲了I2C4接口&#xff0c;然后也引出来了。 再找原理图找到具体引脚&#xff1a; I2C4_SCL&#xff1…

第 5 章 机器学习技术的应用(下)

全文目录 机器学习技术的实施方法 预测阶段效果监控 离线预测在线预测 监控点击率的稳定性 真实点击率的稳定性 计算相邻两个区间内点击率分布的 PSI(Population Stability Index, 群体稳定性指标), 小于 0.1 可认为数据相对稳定;预测点击率的稳定性 与系统本身和用户发生变…

Dice Loss

导读 ​ Dice Loss是由 Dice 系数而得名的&#xff0c;Dice系数是一种用于评估两个样本相似性的度量函数&#xff0c;其值越大意味着这两个样本越相似&#xff0c;Dice系数的数学表达式如下&#xff1a; Dice 2 ∣ X ∩ Y ∣ ∣ X ∣ ∣ Y ∣ \text { Dice }\frac{2|X \ca…

Windows10完全卸载oracle19c

Windows10完全卸载oracle19c 1.停止服务2.卸载产品3.清理注册表4.清理环境变量5.清理文件夹 1.停止服务 winR输入service.msc进入服务列表&#xff0c;停止所有的服务 2.卸载产品 点击开始菜找到Oracle&#xff0c;然后点击Oracle安装产品&#xff0c;再点击Universal Inst…