【docker】 /bin/sh: ./mvnw: No such file or directory解决方案.dockerignore被忽略

报错如下:解决方案很简单,但是容易让大家忽视的问题。
在这里插入图片描述

 => CACHED [stage-1 2/4] WORKDIR /work/                                                                                                                                                                                                                                                                            0.0s=> CACHED [stage-1 3/4] RUN chown 1001 /work     && chmod "g+rwX" /work     && chown 1001:root /work                                                                                                                                                                                                              0.0s=> CACHED [build 2/4] WORKDIR /build/                                                                                                                                                                                                                                                                             0.0s=> CACHED [build 3/4] COPY . .                                                                                                                                                                                                                                                                                    0.0s=> ERROR [build 4/4] RUN ./mvnw  -DskipTests=true clean package -Dnative -U                                                                                                                                                                                                                                       0.2s
------> [build 4/4] RUN ./mvnw  -DskipTests=true clean package -Dnative -U:
0.164 /bin/sh: ./mvnw: No such file or directory
------
Dockerfile:44
--------------------42 |     COPY . .43 |     44 | >>> RUN ./mvnw  -DskipTests=true clean package -Dnative -U45 |     46 |     
--------------------

文章主题已经点明解决方案:.dockerignore文件。大家都使用过.gitignore,原理是一样的。
我们看一下项目生成时,默认dockerignore内容是什么

*
!target/*-runner
!target/*-runner.jar
!target/lib/*
!target/quarkus-app/*

重点就是这个*,默认将所有文件忽略啦,所以dockerfile运行命令时,无法使用./mvnw命令。之前的文章也提过,quarkus原生包镜像需要依赖二进制文件,故target目录下文件需要排除。下面简单介绍一下:
.dockerignore文件是用来指定在构建Docker镜像时应该忽略的文件和目录的配置文件。它的应用场景和原理如下:

  • 应用场景
    避免将不必要的文件和目录复制到Docker镜像中,减小镜像大小。
    提高构建速度,因为Docker在构建镜像时会忽略.dockerignore中指定的文件和目录,避免不必要的复制操作。
  • 原理
    在构建Docker镜像时,Docker会读取.dockerignore文件中列出的文件和目录,并在构建镜像时排除这些文件和目录。
    .dockerignore文件的工作原理类似于.gitignore文件,通过指定需要忽略的文件和目录,可以在构建镜像时过滤掉这些文件,只复制必要的文件到镜像中。Docker会按照.dockerignore文件中的规则来判断哪些文件和目录应该被忽略,然后在构建镜像时将其排除在外。

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

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

相关文章

用互斥锁解决缓存击穿

我先说一下正常的业务流程:需要查询店铺数据,我们会先从redis中查询,判断是否能命中,若命中说明redis中有需要的数据就直接返回;没有命中就需要去mysql数据库查询,在数据库中查到了就返回数据并把该数据存入…

Unity DOTS技术(三)JobSystem+Burst+批处理

文章目录 一.传统方式二.使用JobSystemBurst方式三.批处理 在之前的例子中我们都中用的单线程与传统的编译器,下面我们试着使用JobSystem与打找Burst编译器来对比一下性能的差异. 一.传统方式 1.首先用传统方式创建10000个方块并让基每帧旋转 2.我们可以看到他的帧率是40 …

RBAC 模型梳理

1. RBAC 模型是什么 RBAC(Role-Based Access Control)即:基于角色的权限控制。通过角色关联用户,角色关联权限的方式间接赋予用户权限。 RBAC 模型由 4 个基础模型组成: 基本模型 RBAC0(Core RBAC&#x…

面向AI应用开发实战分享 - 基础篇

“前端转AI,第一讲来了” 引言 如果你是一名前端开发,同时又对AI开发很感兴趣,那么恭喜你,机会来了。 如果不是也没关系,同样能帮大家了解AI应用的开发思路。 本文将带大家从面向AI开发的基础知识开始,再…

AlaSQL.js:用SQL解锁JavaScript数据操作的魔法

简介 先附上 github 地址 https://github.com/AlaSQL/alasql AlaSQL.js - JavaScript SQL database for browser and Node.js. Handles both traditional relational tables and nested JSON data (NoSQL). Export, store, and import data from localStorage, IndexedDB, or …

高德车道级安全预警再升级 10大场景全方位守护行车安全

今日起,2024年高考、端午节小长假相继到来,正值新一波出行高峰到来,高德地图车道级安全预警功能再次升级。升级后的车道级安全预警功能覆盖了10大安全风险较高的行车场景,全方位、超视距地为用户实时探测、预警行车风险&#xff0…

成都跃享未来教育咨询有限公司,值得信赖!

在浩渺的教育咨询市场中,成都跃享未来教育咨询有限公司以其独特的魅力和卓越的服务质量,成为了行业内的璀璨明星。作为一家致力于为学生提供全方位教育咨询服务的公司,成都跃享未来教育咨询有限公司始终坚持安全可靠的原则,为广大…

树莓派4B_OpenCv学习笔记4:测试摄像头_imread加载显示图像_imwrite保存图片

今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi) 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1: 今日对之前的测试CSI摄像头函数进行一些理解说明&#x…

降噪是什么意思?视频如何降噪?一文了解全部

在视频制作的过程中,我们经常会遇到噪音问题,这些噪音可能来自拍摄环境、录制设备或其他源头。然而,对于初学者来说,降噪是什么意思,以及如何有效地在视频中进行降噪可能是一些疑惑的问题。本文将深入解释降噪的概念&a…

【算法】深入浅出爬山算法:原理、实现与应用

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

echarts学习: 绘制双y轴折线图

前言 我们公司项目中的折线图大都是双y轴的,因为这些图表往往需要同时展示水位和流量这两种不同单位的数据,因此如何绘制双y轴折线图就是就是我所面临的首要问题。 1.如何绘制双y轴 将yAxis属性的值设置为一个数组,并在数组中添加两个axis对…

AI辅助论文:探索AI查重与AI降重技术

在科研领域,AI写作工具如同新一代的科研利器,它们能够极大提高文献查阅、思路整理和表达优化的效率,本质上促进了科研工作的进步。AI写作工具不仅快速获取并整理海量信息,还帮助我们精确提炼中心思想,显著提升论文写作…

0606 作业

#include <stdio.h> #include <string.h>typedef struct usr{char unm[21];char pwd[21]; }user;int main(int argc, const char *argv[]) {FILE* userfilefopen("./user_tible.txt","r");printf("输入username:");user u;scanf(&qu…

人工智能在肿瘤预后预测中的最新研究进展|顶刊精析·24-06-07

小罗碎碎念 今天要分享的文献主题&#xff0c;大家一定非常熟悉&#xff0c;因为绝大多数AI4cancer的文章都会提到它——预后预测&#xff0c;所以今天的文献主题是——人工智能肿瘤预后预测。 在正式开始分享之前&#xff0c;我想先带着大家梳理两个问题。解决了以下两个问…

【Python】实现极致:克服PyInstaller打包挑战,解决libpython3.10.so.1.0库丢失难题

【Python】实现极致&#xff1a;克服PyInstaller打包挑战&#xff0c;解决libpython3.10.so.1.0库丢失难题 大家好 我是寸铁&#x1f44a; 总结了一篇【Python】实现极致&#xff1a;克服PyInstaller打包挑战&#xff0c;解决libpython3.10.so.1.0库丢失难题✨ 喜欢的小伙伴可以…

ai智能全自动批量剪辑软件神器,让视频创作变得简单!

随着科技的飞速发展&#xff0c;人工智能技术在各个领域都取得了突破。在视频制作领域&#xff0c;AI智能全自动批量剪辑软件神器的出现&#xff0c;为视频创作者带来了前所未有的便利。接下来咱们详细介绍这款软件的特点和优势&#xff0c;以及它如何让视频创作变得更加简单。…

【网络安全的神秘世界】Kali安装中文输入法

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 今天就手把手教你如何在kali中安装和配置输入法 首先&#xff0c;打开终端&#xff0c;输入下面这行代码&#xff1a; # sudo apt install ibus ibus-pi…

【机器学习】Python与深度学习的完美结合——深度学习在医学影像诊断中的惊人表现

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 一、引言二、深度学习在医学影像诊断中的突破1. 技术原理2. 实际应用3. 性能表现 三、深度学习在医学影像诊断中的惊人表现1. 提高疾病诊断准确率2. 辅助制定治疗方案 四、深度学习对医疗行业的影响和推动作用 一、引言 随着…

网络安全领域六大顶级会议介绍:含会议介绍、会议地址及会议时间和截稿日期

**引言&#xff1a;**从事网络安全工作&#xff0c;以下六个顶会必须要知道&#xff0c;很多安全的前沿技术都会在如下会议中产生与公开&#xff0c;如下会议发表论文大部分可以公开下载。这些会议不仅是学术研究人员展示最新研究成果的平台&#xff0c;也是行业专家进行面对面…

[洛谷] 刷题栈 队列

目录 1.后缀表达式 2.表达式括号匹配 3.表达式求值 4.表达式的转换 5.机器翻译 1.后缀表达式 后缀表达式 - 洛谷 #include<iostream> #include<cstdio> using namespace std;int stk[100]; // 用于存储操作数的栈 int index 0; // 栈顶索引int main() {c…