日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • 項目場景:
  • 問題描述
  • 造成原因
  • 解決方案
  • 總結

項目場景:

記一次Dockerfile構建的Docker鏡像,啟動容器時sh: not found的問題

Dockerfile構建的Docker鏡像,啟動容器時找不到start.sh,執行docker run 命令時報錯:/bin/sh: 1: /data/server/start.sh: not found

問題描述

Dockerfile如下(腳本正確無內容錯誤)

FROM openjdk:8
MAINTAINER it235.com

# 環境sit/pro,由gradle傳入
ARG env
ENV env ${env}

WORKDIR /data/server

#應用包
COPY order.jar start.sh arthas-boot.jar /data/server/

RUN sh -c 'mkdir order' &&\
    sh -c 'mkdir logs' &&\
    sh -c 'mkdir order/gc' &&\
    sh -c 'chmod -R 755 order/' &&\
    sh -c 'chmod -R 755 logs/' &&\
    sh -c 'chmod 755 start.sh' &&\
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

#啟動容器
ENTRYPOINT ["/bin/sh","-c","/data/server/start.sh ${env}"]
EXPOSE 80

造成原因

造成這個問題的原因主要有以下幾點:

  1. docker中的文件夾沒有獲得權限
  2. start.sh文件不在指定的目錄下
  3. start.sh沒有權限
  4. build image時沒有把該腳本傳入
  5. start.sh文件中內容錯誤
  6. start.sh中windows和unix的CRLF和LF的換行符問題
  7. start.sh本身換行符沒問題,但是提交Git后由于git的設置導致文件換行符發生變化

最終發現我這里是第6點問題,坑爹,這里針對以上6點分別給出解決方案。

解決方案

原因1:Dockerfile中給權限即可,我這里已經授權

原因2:在啟動容器報錯后使用 docker cp 容器名稱:/data/server/start.sh ./命名拷貝到本地宿主機目錄,如果能夠拷貝出來,說明文件位置正確

原因3:Dockerfile中給權限,給到最高777

原因4:排查方式同原因3,注意build image時時一定要在Dockerfile當前上下文中,maven和gradle項目可以用插件來做,可以看我的文檔進行,文檔地址看上面Dockerfile第2行

原因5:構建鏡像之前,先自己在linux上運行下,保證內容正確

原因6:這點和原因7一樣坑爹,一般情況下你根本不會考慮到這個問題,這個問題也非常好改,但是排查就要廢點心了。以IDEA編輯器為例

Docker容器/bin/bash?start.sh無法找到not?found問題解決

Docker容器/bin/bash?start.sh無法找到not?found問題解決

問題6我們是解決了,但是怎么排查出來是這個問題的呢,我們可以使用上述原因2的命令docker cp把start.sh從容器中拷貝出來(停止的容器也可以),然后使用命令cat -A start.sh,如果你命令后面跟的是$美元符號,那么恭喜你,文件是LF換行的,如果跟的是^M$符號,那么不好意思,是CRLF換行符,以下2張圖給你做個對比。

Docker容器/bin/bash?start.sh無法找到not?found問題解決

Docker容器/bin/bash?start.sh無法找到not?found問題解決

原因7跟原因6一樣吧

好了,就到這里,做個小小的總結,給個愛心讓更多小伙子看到吧

總結

分享到:
標簽:BIN 容器 找到 服務器 解決
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定