【docker使用Jar自定义镜像:基于windows】

在一个空文件夹中创建Dockerfile

在这里插入图片描述

将jar包复制到该路径下

在这里插入图片描述

在Dockerfile中添加以下内容

# 指定基础镜像
FROM java:8-alpine# 和java项目的包
COPY ./study_dockerfile-1.0.0.jar /tmp/app.jar# 暴露端口
EXPOSE 8081# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar

在Dockerfile目录打开命令窗口

在这里插入图片描述

构建镜像

docker build -t dockerfileDemo:1.0 .

不支持大写,因此改成:

docker build -t appdemo:1.0 .
Microsoft Windows [版本 10.0.19045.3570]
(c) Microsoft Corporation。保留所有权利。D:\software\docker\dockerfiles>docker build -t dockerfileDemo:1.0 .
invalid argument "dockerfileDemo:1.0" for "-t, --tag" flag: invalid reference format: repository name must be lowercase
See 'docker build --help'.D:\software\docker\dockerfiles>docker build -t appdemo:1.0 .
[+] Building 16.7s (6/6) FINISHED=> [internal] load build definition from Dockerfile                                                               0.3s=> => transferring dockerfile: 249B                                                                               0.0s=> [internal] load .dockerignore                                                                                  0.2s=> => transferring context: 2B                                                                                    0.0s=> [internal] load metadata for docker.io/library/java:8-alpine                                                  16.1s=> [internal] load build context                                                                                  0.1s=> => transferring context: 2B                                                                                    0.0s=> CANCELED [1/2] FROM docker.io/library/java:8-alpine@sha256:d49bf8c44670834d3dade17f8b84d709e7db47f1887f671a0e  0.1s=> => resolve docker.io/library/java:8-alpine@sha256:d49bf8c44670834d3dade17f8b84d709e7db47f1887f671a0e098bafa9b  0.1s=> => sha256:d49bf8c44670834d3dade17f8b84d709e7db47f1887f671a0e098bafa9bae49f 947B / 947B                         0.0s=> => sha256:3fd9dd82815ca4510a34bafef556815c440bcff37827d8495639137aeb145a36 3.29kB / 3.29kB                     0.0s=> ERROR [2/2] COPY ./docker-demo.jar /tmp/app.jar                                                                0.0s
------> [2/2] COPY ./docker-demo.jar /tmp/app.jar:
------
failed to compute cache key: "/docker-demo.jar" not found: not foundD:\software\docker\dockerfiles>

我错误的原因,dockerfile中“/docker-demo.jar”忘了改成:“study_dockerfile-1.0.0.jar”,修改之后:
在这里插入图片描述
##启动镜像

docker run --name appdemo -p 8081:8081 -d appdemo:1.0

在这里插入图片描述
在这里插入图片描述

本地访问

在这里插入图片描述

那么项目里yaml是8081,Dockerfile不是8081呢?

将Dockerfile中改成8082:
在这里插入图片描述
无法访问,可见是不可以的。

那么要更改端口号怎么办呢

添加配置文件config/application.yamljar包路径下,在配置文件中重新定义端口
在这里插入图片描述

Dockerfile文件中新增:COPY ./config/ /tmp/config

# 指定基础镜像
FROM java:8-alpine# 和java项目的包
COPY ./study_dockerfile-1.0.0.jar /tmp/app.jar# 重新指定配置文件
COPY ./config/ /tmp/config# 暴露端口
EXPOSE 8082# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar --spring.config.location=/tmp/config/application.yaml

在这里插入图片描述
参考文章:https://blog.csdn.net/lfh996/article/details/129377131

觉得对你有帮助的,点个赞呗在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 如何在Android studio中快速创建raw和assets文件夹

一 方案 1. 创建raw文件夹 切成project浏览模式——>找到res文件粘贴要放入raw文件夹下的文件。 当然此时raw文件还没有,直接在右侧输入框中出现的路径~\res后面加上\raw即可。 2. 创建assets文件夹 同理在main文件夹下粘贴要放入assets文件夹的文件&#xff0…

nodejs国内镜像及切换版本工具nvm

淘宝 NPM 镜像站(http://npm.taobao.org)已更换域名,新域名: Web 站点:https://npmmirror.com Registry Endpoint:https://registry.npmmirror.com 详见: 【望周知】淘宝 NPM 镜像换域名了&…

插件_日期_lunar-calendar公历农历转换

现在存在某需求&#xff0c;需要将公历、农历日期进行相互转换&#xff0c;在此借助lunar-calendar插件完成。 下载 [1] 通过npm安装 npm install lunar-calendar[2]通过文件方式引入 <script type"text/javascript" src"lib/LunarCalendar.min.js">…

电脑如何录制小视频

如果你想在你的电脑上录制视频分享给你的朋友或者亲人&#xff0c;无论你的电脑是win还是mac&#xff0c;都可以在本篇文章中找到电脑录制视频的详细教程。小编为你们整理了2种不同系统电脑的录制详细流程&#xff0c;继续阅读查看吧&#xff01; 第一部分&#xff1a;windows…

Modelsim 使用教程(4)—— Working With Multiple Libraries

一、概述 在文中&#xff0c;我们将练习使用多个库。在实际的项目开发过程中&#xff0c;我们可能有多个库来组织设计&#xff0c;从第三方源代码访问IP&#xff0c;或者在仿真之间共享公共部分。我们将通过创建一个包含计数器设计单元的资源库来开始本文。接下来&#xff0c;我…

小程序day01

简介: 小程序项目的基本结构 页面的组成部分 一个页面对应一个文件夹&#xff0c;所有有关的内容都放在一起。 JSON配置文件 2.app.json文件 3.project.config.json文件 4.sitemap.json文件 5.页面的.json配置文件 6. 新建小程序页面 7.修改项目首页 小程序代码构成 小程序的宿…

2m照片用手机怎么照?三个方法随心选!

在用手机拍照的时候&#xff0c;我们会发现拍出的照片尺寸都很大&#xff0c;占用手机的存储空间较多&#xff0c;而自己又不需要如此高清晰度的照片&#xff0c;那么如何解决这个问题呢&#xff1f;下面介绍了三种方法。 方法一&#xff1a;调整手机拍照的设置选项 1、打开手…

第20期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练 Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大型语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以…

MyBatis无法读取XML中的Method的乌龙事件

事件背景 同事反馈&#xff0c;相同的jar包&#xff0c;在多人本地的电脑、多台服务器中&#xff0c;都是可以正常启动的&#xff0c;只有在其中一台服务器&#xff0c;简称它为A&#xff0c;无法启动&#xff0c;因为启动后的初始化操作中有一个调用mybatis方法的操作&#x…

年终总结一定用得上!这8款AI制作PPT软件不容错过。

PPT&#xff08;PowerPoint&#xff09;已成为日常商务办公、教育和营销环境中广泛使用的一种呈现工具。年终总结时&#xff0c;使用PPT能清晰、直观地展示一年的工作成果&#xff0c;从而让团队成员或上级领导更好地了解并评估工作表现。 在过去&#xff0c;创建精美和引人入…

overflow溢出属性、定位、前端基础之JavaScript

overflow溢出属性 值 描述 visible 默认值。内容不会被修剪&#xff0c;会呈现在元素框之外。 hidden 内容会被修剪&#xff0c;并且其余内容是不可见的。 scroll 内容会被修剪&#xff0c;但是浏览器会显示滚动条以便查看其余的内容。 auto 如果内容被修剪&#xff0…

idea中启动多例项目配置

多实例启动 日常本地开发微服务项目时&#xff0c;博主想要验证一下网关的负载均衡以及感知服务上下线能力时&#xff0c;需要用到多实例启动。 那么什么是多实例启动嘞&#xff1f;简单说就是能在本地同时启动多个同一服务。打个比方项目中有一个 MobileApplication 服务&…