最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)目場(chǎng)景:

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

Dockerfile構(gòu)建的Docker鏡像,啟動(dòng)容器時(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

#啟動(dòng)容器
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)問題,坑爹,這里針對(duì)以上6點(diǎn)分別給出解決方案。

解決方案

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

原因2:在啟動(dòng)容器報(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一樣坑爹,一般情況下你根本不會(huì)考慮到這個(gè)問題,這個(gè)問題也非常好改,但是排查就要廢點(diǎn)心了。以IDEA編輯器為例

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

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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Docker學(xué)習(xí)筆記之搭建一個(gè)JAVA Tomcat運(yùn)行環(huán)境

    詳解Docker學(xué)習(xí)筆記之搭建一個(gè)JAVA Tomcat運(yùn)行環(huán)境

    本篇文章主要介紹了詳解Docker學(xué)習(xí)筆記之搭建一個(gè)JAVA Tomcat運(yùn)行環(huán)境,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • Docker?Volume的用法看這一篇就夠了

    Docker?Volume的用法看這一篇就夠了

    這篇文章主要介紹了Docker?Volume的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Docker容器從鏡像恢復(fù)代碼的操作步驟

    Docker容器從鏡像恢復(fù)代碼的操作步驟

    這篇文章主要介紹了Docker容器從鏡像恢復(fù)代碼的操作步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Docker服務(wù)器存儲(chǔ)資源池不足的問題解決

    Docker服務(wù)器存儲(chǔ)資源池不足的問題解決

    這篇文章主要給大家介紹了關(guān)于Docker服務(wù)器存儲(chǔ)資源池不足的問題解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • docker容器中無法獲取宿主機(jī)hostname的解決方案

    docker容器中無法獲取宿主機(jī)hostname的解決方案

    這篇文章主要介紹了docker容器中無法獲取宿主機(jī)hostname的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 安裝harbor作為docker鏡像倉庫的問題

    安裝harbor作為docker鏡像倉庫的問題

    這篇文章主要介紹了安裝harbor作為docker鏡像倉庫,主要包括docker和docker-compose離線部署,安裝harbor作為本地的倉庫,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2

    詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2

    這篇文章主要介紹了詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • docker容器連接宿主機(jī)redis與mysql的配置方法

    docker容器連接宿主機(jī)redis與mysql的配置方法

    最近有朋友在工作時(shí)遇到一個(gè)問題,docker容器無法訪問宿主機(jī)的redis,所以這里給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于docker容器連接宿主機(jī)redis與mysql的配置方法,需要的朋友可以參考下
    2023-06-06
  • Docke實(shí)例之搭建gitlab的方法

    Docke實(shí)例之搭建gitlab的方法

    本篇文章主要介紹了Docke實(shí)例之搭建gitlab的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • Docker堆棧的管理操作詳解

    Docker堆棧的管理操作詳解

    這篇文章主要介紹了Docker堆棧的管理操作,結(jié)合實(shí)例形式分析了Docker堆棧管理相關(guān)的新服務(wù)添加、部署、數(shù)據(jù)持久化等操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-06-06

最新評(píng)論

东阳市| 南通市| 子洲县| 沂水县| 旅游| 高尔夫| 云龙县| 寿阳县| 叶城县| 林州市| 五河县| 和田市| 将乐县| 东乡县| 蓝田县| 张家川| 鹤峰县| 集安市| 长丰县| 教育| 永州市| 雷波县| 宜州市| 吉安市| 繁峙县| 名山县| 壶关县| 乌拉特后旗| 扬中市| 栾川县| 新晃| 辽宁省| 深州市| 宁乡县| 罗山县| 富阳市| 神农架林区| 天水市| 宁阳县| 犍为县| 桃园市|