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:就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“解决docker CMD/ENTRYPOINT执行sh脚本报: not found/run.sh:”评论...
更新日志
2024年06月21日
2024年06月21日
- 张学友《在我心深处》蜚声环球2024[低速原抓WAV+CUE]
- 张信哲《张信哲歌曲合集》[320K/MP3][146.1MB]
- 童安格-开盘母带直刻《挚爱珍藏版》[WAV/分轨][520MB]
- 《陈淑桦 时代巅峰经典32首 给淑桦的一封信 2CD》[WAV+CUE][1.4GB]
- 塔瑞斯世界骑士天赋怎么加点 骑士天赋加点攻略
- 塔瑞斯世界战士输出循环怎么打 战士核心技能及输出手法介绍
- 逆水寒手游甄嬛传联动新增食谱介绍
- 张学友《在我心深处》蜚声环球2024[低速原抓WAV+CUE]
- Matsutoya《TheGatesOfHeaven》Hi-Res|FLAC|96kHz/24bit
- [舞曲]2Unlimited2006-GreatestRemixHits[FLAC+CUE]
- 《黑色行动6》金库版预告:售价660元 内容多多
- 逆水寒手游码头怪盗任务最新攻略
- 塔瑞斯世界吟游诗人输出循环怎么打 吟游诗人核心技能及输出手法介绍
- 塔瑞斯世界蛮斗士输出循环怎么打 蛮斗士核心技能及输出手法介绍
- 莫扎特,莱内克尼尔森长笛协奏曲[Hi-Res96kHz24bitFLAC]