欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2022年08月09日 09:42:57   作者:君哥聊編程  
最近在學(xué)習(xí)聯(lián)系中遇到一個(gè)問題,百度后發(fā)現(xiàn)這個(gè)需求還是挺常見的,所以下面這篇文章主要給大家介紹了關(guān)于Docker容器/bin/bash?start.sh無法找到not?found問題的解決方法,需要的朋友可以參考下

項(xiàng)目場景:

記一次Dockerfile構(gòu)建的Docker鏡像,啟動容器時(shí)sh: not found的問題

Dockerfile構(gòu)建的Docker鏡像,啟動容器時(shí)找不到start.sh,執(zhí)行docker run 命令時(shí)報(bào)錯(cuò):/bin/sh: 1: /data/server/start.sh: not found

問題描述

Dockerfile如下(腳本正確無內(nèi)容錯(cuò)誤)

FROM openjdk:8
MAINTAINER it235.com

# 環(huán)境sit/pro,由gradle傳入
ARG env
ENV env ${env}

WORKDIR /data/server

#應(yīng)用包
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

造成原因

造成這個(gè)問題的原因主要有以下幾點(diǎn):

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

最終發(fā)現(xiàn)我這里是第6點(diǎn)問題,坑爹,這里針對以上6點(diǎn)分別給出解決方案。

解決方案

原因1:Dockerfile中給權(quán)限即可,我這里已經(jīng)授權(quán)

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

原因3:Dockerfile中給權(quán)限,給到最高777

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

原因5:構(gòu)建鏡像之前,先自己在linux上運(yùn)行下,保證內(nèi)容正確

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

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

windows換行符

LF

原因7跟原因6一樣吧

好了,就到這里,做個(gè)小小的總結(jié),給個(gè)愛心讓更多小伙子看到吧

總結(jié)

到此這篇關(guān)于Docker容器/bin/bash start.sh無法找到not found問題解決的文章就介紹到這了,更多相關(guān)Docker容器/bin/bash start.sh無法找到內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • CentOS7 PostgreSQL安裝、配置、使用詳解

    CentOS7 PostgreSQL安裝、配置、使用詳解

    這篇文章主要介紹了CentOS7 PostgreSQL安裝、配置、使用詳解的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • 詳解如何將docker快速升級到最新版本

    詳解如何將docker快速升級到最新版本

    最近在對區(qū)塊鏈瀏覽器調(diào)優(yōu),該區(qū)塊鏈瀏覽器就是使用docker部署的微服務(wù),在一臺新的服務(wù)器上啟動時(shí)報(bào)錯(cuò),發(fā)現(xiàn)是docker版本過低,所以本文給大家介紹了將docker快速升級到最新版本的方法,需要的朋友可以參考下
    2024-02-02
  • docker刪除拉取的鏡像釋放內(nèi)存的操作方法

    docker刪除拉取的鏡像釋放內(nèi)存的操作方法

    kali內(nèi)存滿了,釋放一下內(nèi)存,通過查看本地鏡像,刪除本地鏡像,文中給大家介紹了docker image ls詳解,對docker刪除拉取的鏡像釋放內(nèi)存相關(guān)知識操作感興趣的朋友一起看看吧
    2023-01-01
  • Docker安裝寶塔面板的實(shí)現(xiàn)

    Docker安裝寶塔面板的實(shí)現(xiàn)

    本文主要介紹了Docker安裝寶塔面板的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Docker數(shù)據(jù)存儲之Bind mounts詳解

    Docker數(shù)據(jù)存儲之Bind mounts詳解

    今天小編就為大家分享一篇關(guān)于Docker數(shù)據(jù)存儲之Bind mounts詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Docker磁盤空間清理的方法實(shí)現(xiàn)

    Docker磁盤空間清理的方法實(shí)現(xiàn)

    在使用Docker的過程中,系統(tǒng)會逐漸積累一些無用的垃圾文件,占據(jù)寶貴的磁盤空間并影響系統(tǒng)性,本文主要介紹了Docker磁盤空間清理的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • Docker容器部署前端Vue服務(wù)(小白教程)

    Docker容器部署前端Vue服務(wù)(小白教程)

    本文主要介紹了Docker容器部署前端Vue服務(wù),文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 詳解如何優(yōu)雅的給Docker配置網(wǎng)絡(luò)代理

    詳解如何優(yōu)雅的給Docker配置網(wǎng)絡(luò)代理

    有時(shí)因?yàn)榫W(wǎng)絡(luò)原因,比如公司 NAT,或其它啥的,需要使用代理,這篇文章主要為大家詳細(xì)介紹了如何優(yōu)雅的給Docker配置網(wǎng)絡(luò)代理,需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • Docker 教程之鏡像創(chuàng)建及修改詳細(xì)介紹

    Docker 教程之鏡像創(chuàng)建及修改詳細(xì)介紹

    這篇文章主要介紹了Docker 教程之鏡像創(chuàng)建及修改詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • Docker基礎(chǔ)教程之Dockerfile語法詳解

    Docker基礎(chǔ)教程之Dockerfile語法詳解

    這篇文章主要給大家介紹了關(guān)于Docker基礎(chǔ)教程之Dockerfile語法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Docker具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評論