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如何加volume(Dockerfile 中 VOLUME 与 docker -v 的区别说明)
- dockerfile映射目录(Dockerfile中ENTRYPOINT 和 CMD的区别说明)
- docker配置私有仓库(docker私有库的搭建实现)
- docker安装java8(docker安装java环境的实现步骤)
- 日常操作docker命令(Docker常用命令详解)
- docker装redis(通过Docker部署Redis 6.x集群的方法)
- docker容器设置端口(Docker 实现容器端口绑定本地端口)
- centos上docker的部署(CentOS8下的Docker使用详解)
- 用docker搭建在线开发平台(docker部署蜗牛影院系统详细流程分析)
- docker快速配置redis集群(基于docker搭建redis集群的方法)
- dockertomcat多开实例(Docker tomcat的设置内存大小配置方式)
- 更改docker容器的ip地址(docker容器通过ping直接运行获取公网IP操作)
- docker进入mysql查看路径(Docker 环境运行 Mysql 和开启 Binlog 配置主从同步的设置方法)
- rocketmq安装linux(docker安装rocketMQ教程最详细)
- docker pull 更新本地镜像(Docker 拉取镜像及标签操作 pull | tag)
- docker容器启动后怎么进入(Docker 退出container后保持继续运行的操作)
- 泰国旅游业怎么样(泰国的旅游产业)
- 越南新娘(越南新娘婚介网站)
- 越南新娘(越南新娘骗婚套路流程)
- 菲律宾游学(菲律宾游学中介机构)
- 菲律宾美食(菲律宾美食排行榜前十名)
- 菲律宾特产(菲律宾特产最值得买回国)
热门推荐
- dedecms技术(dedecms 初级入门使用教程)
- mysql8.0.15官方最新版本安装教程(MySQL8.0.24版本Release Note的一些改进点)
- python包和模块管理(python的依赖管理的实现)
- python爬取酷狗收费音乐(python爬取酷狗音乐排行榜)
- phpfpm优化方法(php-fpm超时时间设置request_terminate_timeout资源问题分析)
- php开发详细步骤(php源码的安装方法和实例)
- SQLServer获取临时表所有列名或是否存在指定列名的方法(SQLServer获取临时表所有列名或是否存在指定列名的方法)
- Linux 下如何检查内存使用率(Linux 下如何检查内存使用率)
- python的解释器怎么安装其他版本(在Python文件中指定Python解释器的方法)
- tomcat怎么知道访问servlet(详解从源码分析tomcat如何调用Servlet的初始化)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9