没有合适的资源?快使用搜索试试~ 我知道了~
解决docker CMD/ENTRYPOINT执行sh脚本报: not found/run.sh:
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
7 下载量 82 浏览量
2021-01-20
14:24:54
上传
评论
收藏 61KB PDF 举报
温馨提示
试读
1页
Dockerfile配置没有问题,为什么执行ENTRYPOINT命令时一直错误? 容器一启动就退出了。 查了不少资料,想了好久才发现原因。 run.sh是被COPY指令复制到容器中的,而本机是windows,默认的换行符是\n,故而复制过去无法被执行。 解决办法很简单,切换文件格式为LF即可。 补充知识:docker中启动容器时CMD调用的sh脚本中if命令报未预期的符号 if[[的解决办法 最近通过Dockerfile编写镜像,CMD中调用的是sh脚本(start.sh)进行启动容器,通过docker run启动时,启动不成功,进行docker logs 容器ID,发现报错为:未预期的符
资源推荐
资源详情
资源评论
解决解决docker CMD/ENTRYPOINT执行执行sh脚本报脚本报: not
found/run.sh:
Dockerfile配置没有问题,为什么执行ENTRYPOINT命令时一直错误?
容器一启动就退出了。
查了不少资料,想了好久才发现原因。
run.sh是被COPY指令复制到容器中的,而本机是windows,默认的换行符是,故而复制过去无法被执行。
解决办法很简单,切换文件格式为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:就是小编分享给大家的全部内容了,希望能给大家
一个参考,也希望大家多多支持软件开发网。
您可能感兴趣的文章您可能感兴趣的文章:Dockerfile中ENTRYPOINT 和 CMD的区别说明在docker容器中使用非root用户执行脚本操作docker文件
存放路径, 获取容器启动命令操作
资源评论
weixin_38704701
- 粉丝: 8
- 资源: 982
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功