Docker 镜像构建报 exec xxx.sh: no such file or directory

问题记录

场景:

        处于对nacos docker 部署最新版本的探究,但是nacos/nacos-server镜像拉取不到最新版本,官网也是给出自己构建镜像的方案。

        具体步骤很简单,先clone项目,然后签出你要的nacos版本,通过docker-compose 部署。

# 克隆项目
git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker# 单机模式 mysql 8
docker-compose -f example/standalone-mysql-8.yaml up# 单机模式 Derby
docker-compose -f example/standalone-derby.yaml up

但是,中间也出现了几个问题,具体如下:

  • 拉取nacos最新版的镜像拉取不到

之前用了好多个国内镜像加速,正常pull nacos/nacos-server:latest 下来的是老版本,指定版本号的话,加了好几个国内源才pull成功,最新版本却拉取不到,猜测还没推上去。但是不知道哪个仓库是不是已经有了比较新的nacos版本,这个就不可控。所以,干脆自己构建一个镜像吧~~

  • 镜像构建报 exec bin/docker-startup.sh: no such file or directory

       这个问题和开发环境有关系,windows 环境可能会遇到,其它没测试过,看上去错误信息是找不到脚本文件,其实是存在的。这个问题本质上是是”找不到脚本的解释器“,而不是找不到脚本本身。

        因为系统是windows ,代码文件从github拉下来,脚本换行符会自动变成Windows的换行符CRLF,然后docker builder的时候,直接把文件docker-startup.sh 复制到容器内部就出问题了。

#!/bin/bash[CRLF]

容器内部是Linux系统,它的换行符是LF,所以无法识别CR,当执行脚本的时候,第一行的解释器名称就变成 #!/bin/bashCR了,肯定找不到,就报no such file or directory。

总结:

        总的来说,本质问题还是换行符的问题,Linux 执行了带有Windows换行符的脚本。以后在Windows是上开发的脚本,或者中转的脚本,最好保证换行符还是Unix(LF),这个在很多文本编辑器里是可以指定的,Idea同样可以转换。

代码库:

GitHub - nacos-group/nacos-docker: This project contains a Docker image meant to facilitate the deployment of Nacos .This project contains a Docker image meant to facilitate the deployment of Nacos . - nacos-group/nacos-dockericon-default.png?t=N7T8https://github.com/nacos-group/nacos-docker.git

来源:

Nacos Docker 快速开始 | Nacos 官网容器中sh脚本明明存在,为何会报"no such file or directory"的错误? - cs_liwei - 博客园 (cnblogs.com)

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

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

相关文章

算法力扣刷题记录 四十二【101. 对称二叉树、100.相同的树、572.另一个树的子树】

前言 二叉树篇,开始对二叉树操作练习。 记录 四十二【101. 对称二叉树】。 继续。 一、题目阅读 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true示例 2&#x…

S5730交换机上配置访问控制列表(ACL)、OSPF路由和PIM-SM组播

配置访问控制列表(ACL) 假设我们创建一个简单的ACL,允许或拒绝特定流量通过。 进入系统视图 sys 创建一个标准ACL,允许192.168.1.0/24网段的流量通过 acl number 2001 rule 5 permit source 192.168.1.0 0.0.0.255 其他流量默…

Pytest单元测试系列[v1.0.0][Pytest基础]

Pytest安装与配置 和Unittest一样,Pytest是另一个Python语言的单元测试框架,与Unittest相比它的测试用例更加容易编写、运行方式更加灵活、报错信息更加清晰、断言写法更简洁并且它可以运行有unittest和nose编写的测试用例。 Pytest 安装 启动命令行&…

【Pytorch】Conda环境下载慢换源/删源/恢复默认源

文章目录 背景临时换源永久换源打开conda配置condarc换源执行配置 命令行修改源添加源查看源 删源恢复默认源使用示范 背景 随着实验增多,需要分割创建环境的情况时有出现,在此情况下使用conda create --name xx python3.10 pytorch torchvision pytorc…

uni-app三部曲之二: 封装http请求

1.引言 前面一篇文章写了使用Pinia进行全局状态管理。 这篇文章主要介绍一下封装http请求,发送数据请求到服务端进行数据的获取。 感谢: 1.yudao-mall-uniapp: 芋道商城,基于 Vue Uniapp 实现,支持分销、拼团、砍价、秒杀、优…

电脑自动重启是什么原因呢?99%人都不知道的解决办法,直接打破循环

当你的电脑突然毫无预警地自动重启,不仅打断了工作流程,还可能导致未保存的数据丢失,这无疑是一件令人沮丧的事情。那么,电脑自动重启是什么原因呢?有什么方法可以解决呢?别担心,在大多数情况下…

Android Retrofit post请求,@Body传递的参数转义问题

文章目录 问题解决原因解决方案一:自己拼接json字符串,Body使用RequestBody类型,比如解决方案二:修改Retrofit的Gson 问题 因为传递的参数字符串中有等号 ,结果传递的时候,打印出来 原始字符串&#xff…

【AIGC】GPT-4深度解析:自然语言处理的新纪元

目录 第一部分:GPT-4技术概览 1.1 GPT-4模型架构 多模态输入处理 专家混合(MoE)技术详解 参数规模和模型复杂性 1.2 GPT-4的关键技术创新 上下文窗口的扩展 模型性能预测技术 1.3 GPT-4与其他模型的比较 性能对比 架构差异 第二部…

docker-2

27.构建python应用镜像-dockerfile实践项目 1.基于官方的镜像,构建python代码运行环境 dockerfile 2.运行镜像,开启一个读写的容器空间(定制操作,将代码丢进去,运行调试) 3.提交这个变化的容器层数据&#…

cal命令

1、命令详解: cal(全称:Calendar)该命令用来显示当前日历或者指定日期的公历。 2、官方参数: -1, --one 仅显示当前月份(默认)-3, --three 显示上个月、当前月和下个月-s, --sunday…

谷粒商城P85发布商品时规格参数不显示问题

P85讲,发布商品,点击下一步之后,发现规格参数不显示 打开控制台发现报错forEach...错误 查了问题原因,发现返回的分组中个别组的关联属性(attrs)可能为null 所以这个时候,需要确保后端返回的attrs不能为null 方式1…

数据结构之顺序存储线性表实现详解与示例(C,C#,C++)

文章目录 一、顺序存储线性表的基本概念二、顺序存储线性表的实现1、数据结构定义2、初始化3、添加元素4、访问元素5、修改元素6、删除元素7、销毁 三、示例C语言示例C#语言示例C语言示例 顺序存储线性表是一种基本的数据结构,它将线性表的元素按照一定的顺序存放在…

Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例

场景 存储过程 存储过程是一组为了完成特定功能的SQL语句集合。使用存储过程的目的是将常用或复杂的工作预先用SQL语句写好并用一个指定名称存储起来, 这个过程经编译和优化后存储在数据库服务器中,因此称为存储过程。 当以后需要数据库提供与己定义…

分享WPF的UI开源库

文章目录 前言一、HandyControl二、AduSkin三、Adonis UI四、Panuon.WPF.UI五、LayUI-WPF六、MahApps.Metro七、MaterialDesignInXamlToolkit八、FluentWPF九、DMSkin总结 前言 分享WPF的UI开源库。 一、HandyControl HandyControl是一套WPF控件库,它几乎重写了所…

uni-app 扫描二维码获取信息功能

首先是扫描二维码的功能,可以参考这篇博文 uni-app-H5页面调用设备摄像头扫描二维码_uni-app app端调用摄像头显示至指定元素上显示-CSDN博客 然后现在是可以扫描二维码的状态,扫描之后,可以看到首先是出发上一个页面的事件,然后…

每天一个数据分析题(四百二十五)- 单因素方差分析

关于下表&#xff0c;错误说法是&#xff08; &#xff09; A. 这是单因素方差分析的输出结果 B. 表中 F< F crit, 与 P-value 大于显著性水平是等价的 C. 表内组间均方差没有显著大于组内均方差 D. 由于组内SS数值显著大于组间SS&#xff0c;因此可以推断不同分类对于…

使用Python绘制面积图

使用Python绘制面积图 面积图效果代码 面积图 面积图展示数据随时间的累积变化&#xff0c;适合表现趋势和总量。通过填充图形下方的区域&#xff0c;可以直观地显示各时间点的数值及其变化。 效果 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-…

机器学习——决策树(笔记)

目录 一、认识决策树 1. 介绍 2. 决策树生成过程 二、sklearn中的决策树 1. tree.DecisionTreeClassifier&#xff08;分类树&#xff09; &#xff08;1&#xff09;模型基本参数 &#xff08;2&#xff09;模型属性 &#xff08;3&#xff09;接口 2. tree.Decision…

最新开源免费数字人工具

使用步骤更是简单到不行&#xff1a; 1. 输入图片&#xff1a;选择你想要生成动态视频的肖像图片。 2. 输入音频&#xff1a;提供与图片匹配的音频文件&#xff0c;EchoMimic会根据音频内容驱动肖像的动态效果。 3. 设置参数&#xff1a;一般保持默认设置即可&#xff0c;当然&…

排序题目:最小时间差

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;最小时间差 出处&#xff1a;539. 最小时间差 难度 3 级 题目描述 要求 给定一个 24 \texttt{24} 24 小时制的时间列表&#xff0c;时间以 &quo…