清风细雨楼 Design By www.eepep.com
Dockerfile配置没有问题,为什么执行ENTRYPOINT命令时一直错误?
容器一启动就退出了。
查了不少资料,想了好久才发现原因。
run.sh是被COPY指令复制到容器中的,而本机是windows,默认的换行符是\n,故而复制过去无法被执行。
解决办法很简单,切换文件格式为LF即可。
补充知识:docker中启动容器时CMD调用的sh脚本中if命令报未预期的符号 if[[的解决办法
最近通过Dockerfile编写镜像,CMD中调用的是sh脚本(start.sh)进行启动容器,通过docker run启动时,启动不成功,进行docker logs 容器ID,发现报错为:未预期的符号 if [[
我直接在外部linux系统调用执行start.sh是成功的,通过docker exec 进入容器,在容中调用start.sh也未报错,命令中需要启动的程序都成功启动。
脚本直接执行没问题,通过docker run却报错,百思不得其解。
start.sh中报错代码段如下
if [[ -e /home/dc/testnn-aaa.zip ]];then rm -rf /home/testnn-aaa unzip -q -o -d /home testnn-aaa.zip echo "unzip zip finished" else echo "dc zip not exist" fi
经过查阅比较,因为我的start.sh在报错语句之前也有if语句,但是没报错,发现两处区别为第一处if使用的是单[],将代码改为[],则成功,修改如下:
if [ -e /home/dc/testnn-aaa.zip ];then
以上这篇解决docker CMD/ENTRYPOINT执行sh脚本报: not found/run.sh:就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
清风细雨楼 Design By www.eepep.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
清风细雨楼 Design By www.eepep.com
暂无评论...
更新日志
2024年06月14日
2024年06月14日
- 韩磊《韩唱淋漓·韩磊纪念版特辑 4CD》[WAV+CUE][2.12GB]
- 世界启元平民阵容组队推荐 平民强势阵容攻略
- 世界启元和文明6一样吗 世界启元和文明6区别介绍
- 世界启元新手入门指南 新手实用技巧分享
- 民谣合集《红色推土机》2CD【WAV+CUE】
- 哎呀,服务正在维护中……
- 詹姆斯·拉斯特-世界级指挥及演奏大师《天堂鸟Paradiesvogel》[WAV+CUE]
- 林忆莲.1990-超级金装忆莲2CD【SONY】【WAV+CUE】
- 满文军.1997-让你的天空最美【正大国际】【WAV+CUE】
- 群星.1999-两个人2CD(华纳音乐大世纪系列)【华纳】【WAV+CUE】
- 世界启元手游什么时候上线 世界启元上线时间介绍
- 世界启元有哪些资源 资源介绍及获得途径分享
- 世界启元新手进阶开荒队攻略 首充礼包阵容推荐
- [中友缘唱片]原创音乐《寂寞缠绕DSD》WAV+CUE
- 顶级发烧制作-群星《大牌翻唱1-2》WAV