濮阳杆衣贸易有限公司

主頁 > 知識庫 > 解決docker CMD/ENTRYPOINT執(zhí)行sh腳本報: not found/run.sh:

解決docker CMD/ENTRYPOINT執(zhí)行sh腳本報: not found/run.sh:

熱門標(biāo)簽:電銷智能機器人試用 撫州市城區(qū)地圖標(biāo)注 激光標(biāo)記地圖標(biāo)注 企業(yè)辦理400電話收費標(biāo)準(zhǔn) 智能電銷機器人真的有用么 百度地圖底圖標(biāo)注 中國地圖標(biāo)注上各個省 高德地圖標(biāo)注足跡怎么打標(biāo) 新鄉(xiāng)牧野400電話申請

Dockerfile配置沒有問題,為什么執(zhí)行ENTRYPOINT命令時一直錯誤?

容器一啟動就退出了。

查了不少資料,想了好久才發(fā)現(xiàn)原因。

run.sh是被COPY指令復(fù)制到容器中的,而本機是windows,默認(rèn)的換行符是\n,故而復(fù)制過去無法被執(zhí)行。

解決辦法很簡單,切換文件格式為LF即可。

補充知識:docker中啟動容器時CMD調(diào)用的sh腳本中if命令報未預(yù)期的符號 if[[的解決辦法

最近通過Dockerfile編寫鏡像,CMD中調(diào)用的是sh腳本(start.sh)進(jìn)行啟動容器,通過docker run啟動時,啟動不成功,進(jìn)行docker logs 容器ID,發(fā)現(xiàn)報錯為:未預(yù)期的符號 if [[

我直接在外部linux系統(tǒng)調(diào)用執(zhí)行start.sh是成功的,通過docker exec 進(jìn)入容器,在容中調(diào)用start.sh也未報錯,命令中需要啟動的程序都成功啟動。

腳本直接執(zhí)行沒問題,通過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

經(jīng)過查閱比較,因為我的start.sh在報錯語句之前也有if語句,但是沒報錯,發(fā)現(xiàn)兩處區(qū)別為第一處if使用的是單[],將代碼改為[],則成功,修改如下:

if [ -e /home/dc/testnn-aaa.zip ];then

以上這篇解決docker CMD/ENTRYPOINT執(zhí)行sh腳本報: not found/run.sh:就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

標(biāo)簽:延安 南通 西安 邯鄲 海西 臨汾 忻州 辛集

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解決docker CMD/ENTRYPOINT執(zhí)行sh腳本報: not found/run.sh:》,本文關(guān)鍵詞  解決,docker,CMD,ENTRYPOINT,執(zhí)行,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解決docker CMD/ENTRYPOINT執(zhí)行sh腳本報: not found/run.sh:》相關(guān)的同類信息!
  • 本頁收集關(guān)于解決docker CMD/ENTRYPOINT執(zhí)行sh腳本報: not found/run.sh:的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    锡林浩特市| 隆昌县| 雅江县| 遵化市| 宿迁市| 视频| 谢通门县| 千阳县| 阳东县| 灯塔市| 中山市| 延津县| 潼关县| 太仓市| 辉县市| 历史| 遂溪县| 三河市| 吉安县| 夏邑县| 泸定县| 独山县| 镇沅| 房产| 新平| 洛扎县| 汕头市| 通城县| 额尔古纳市| 万宁市| 岳西县| 榆树市| 陕西省| 潍坊市| 车险| 社旗县| 东乌珠穆沁旗| 甘谷县| 青海省| 孙吴县| 龙岩市|