国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:4日期:2024-11-13 10:19:09

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

容器一啟動就退出了。

查了不少資料,想了好久才發現原因。

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

run.sh是被COPY指令復制到容器中的,而本機是windows,默認的換行符是n,故而復制過去無法被執行。

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

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

補充知識: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
相關文章:
主站蜘蛛池模板: 城步| 乌拉特前旗| 宜章县| 六盘水市| 平南县| 红原县| 上思县| 东乡| 庆元县| 彭泽县| 门头沟区| 蓝田县| 清远市| 荔浦县| 霍州市| 伊宁市| 张家川| 肥城市| 卢龙县| 长丰县| 开平市| 灵川县| 阳谷县| 莆田市| 韩城市| 巴楚县| 扎鲁特旗| 宕昌县| 精河县| 冕宁县| 普兰店市| 安新县| 抚宁县| 登封市| 永和县| 万盛区| 平舆县| 通渭县| 时尚| 瓦房店市| 汝南县|