docker配置源不生效(解决docker CMD/ENTRYPOINT执行sh脚本报: not found/run.sh:)
类别:服务器 浏览量:791
时间:2022-01-15 01:10:25 docker配置源不生效
解决docker CMD/ENTRYPOINT执行sh脚本报: not found/run.sh: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:就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
您可能感兴趣
- 如何启动所有docker服务(docker 使用CMD或者ENTRYPOINT命令同时启动多个服务)
- docker指令详解(docker create命令的用法说明)
- jenkins集成docker自动部署(详解docker部署Jenkins新手使用教程)
- docker 镜像mysql(解决docker拉取mysql镜像太慢的情况)
- docker安装镜像失败(阿里云镜像安装docker报错的问题及解决方案)
- docker的一些使用方法(使用Docker 安装 Jenkins的方法)
- 用docker搭建在线开发环境(Docker环境搭建的简单方法)
- docker端口配置(docker 无法释放端口的解决方案)
- dockerjenkins最新消息(新手必看docker安装jenkins详细教程)
- docker只有localhost可用(浅谈Docker如何自定义host文件)
- 日常操作docker命令(Docker常用命令详解)
- docker镜像配置的挂载路径(解决docker挂载的目录无法读写问题)
- java连接mongodb(Docker连接mongodb实现过程及代码案例)
- docker配置源不生效(解决docker CMD/ENTRYPOINT执行sh脚本报: not found/run.sh:)
- docker配置和管理(Docker 容器监控原理及 cAdvisor的安装与使用说明)
- docker自动入门教程(Docker Machine深入详解)
- 四川旅游攻略(四川旅游攻略自由行攻略)
- 上海迪士尼攻略(上海迪士尼攻略旅游)
- 哪里可以看熊猫(成都哪里可以看熊猫)
- oppo手机的三种录屏方法,你知道有哪些吗(oppo手机的三种录屏方法)
- 吉林神秘传染链跨省 传染源尚未找到,舒兰 封城(吉林神秘传染链跨省)
- 吉林舒兰 封城 聚集性疫情传播链已延至沈阳,有一个细节让人忧心(吉林舒兰封城)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9