亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker構(gòu)建鏡像運(yùn)行容器腳本出現(xiàn)換行符問題的解決

 更新時(shí)間:2025年04月03日 09:08:51   作者:岫珩  
當(dāng)使用Docker構(gòu)建鏡像運(yùn)行容器腳本出現(xiàn)換行符問題,Error: context must be a directory: “/root/xxxx/.\r”,下面主要介紹了這一問題的相關(guān)解決方法,希望對(duì)大家有所幫助

場(chǎng)景復(fù)現(xiàn)

當(dāng)我通過docker命令構(gòu)建鏡像和運(yùn)行容器時(shí)都沒問題

當(dāng)我將docker命令整合到sh腳本文件中,執(zhí)行sh腳本時(shí)出現(xiàn)如下就報(bào)錯(cuò)

Error: context must be a directory: "/root/xxxx/.\r"

截圖

這個(gè)錯(cuò)誤通常是由于腳本中的換行符格式問題導(dǎo)致的。原因分析和解決方案如下:

根本原因

錯(cuò)誤信息中路徑末尾的 \r 暴露了問題:你的腳本文件使用了 Windows 格式的換行符(CRLF),而 Linux 系統(tǒng)只能正確識(shí)別 Unix 格式的換行符(LF)。當(dāng)腳本執(zhí)行時(shí),Docker 誤將 \r 當(dāng)作路徑的一部分,導(dǎo)致無法識(shí)別上下文目錄。

解決方案

方法 1:用 sed 命令清理 CR 字符

sed -i 's/\r$//' your_script.sh

執(zhí)行該命令后,再執(zhí)行腳本,報(bào)錯(cuò)解決

方法 2:手動(dòng)修改換行符(通過 Vim)

用 Vim 打開腳本:

vi your_script.sh

執(zhí)行以下命令強(qiáng)制轉(zhuǎn)換為 Unix 格式:

:set ff=unix

保存退出:

:wq

方法 3:用 dos2unix 轉(zhuǎn)換腳本格式

安裝轉(zhuǎn)換工具(如果未安裝):

yum install dos2unix -y   # CentOS
apt-get install dos2unix -y # Ubuntu

轉(zhuǎn)換腳本文件:

dos2unix your_script.sh

重新運(yùn)行腳本:

sh your_script.sh

驗(yàn)證腳本格式

使用 cat -A 檢查隱藏字符:

cat -A your_script.sh

正常情況:行尾顯示 $(LF)

問題情況:行尾顯示 ^M$(CRLF)

修正后的腳本示例

確保你的腳本內(nèi)容如下(注意換行符):

#!/bin/shdocker build -t sb_back:20250327 .

總結(jié)

問題根源是腳本文件的換行符格式不兼容。通過將腳本轉(zhuǎn)換為 Unix 格式(LF),Docker 就能正確識(shí)別構(gòu)建上下文路徑。推薦使用 dos2unix 工具一鍵修復(fù)。

以上就是Docker構(gòu)建鏡像運(yùn)行容器腳本出現(xiàn)換行符問題的解決的詳細(xì)內(nèi)容,更多關(guān)于Docker構(gòu)建鏡像換行符問題解決的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 手把手帶大家通過Docker部署前后端分離項(xiàng)目(親測(cè)可用)

    手把手帶大家通過Docker部署前后端分離項(xiàng)目(親測(cè)可用)

    近年來前后端分離已經(jīng)成為中大型軟件項(xiàng)目開發(fā)的最佳實(shí)踐,下面這篇文章主要給大家介紹了關(guān)于通過Docker部署前后端分離項(xiàng)目的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • docker搭建lnmp環(huán)境的實(shí)現(xiàn)步驟

    docker搭建lnmp環(huán)境的實(shí)現(xiàn)步驟

    DNMP(Docker + Nginx + MySQL + PHP7/5 + Redis)是一款全功能的LNMP一鍵安裝程序,本文就來介紹一下docker搭建lnmp環(huán)境的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • 使用Docker遷移服務(wù)到離線服務(wù)器的過程

    使用Docker遷移服務(wù)到離線服務(wù)器的過程

    最近遇到的這個(gè)場(chǎng)景,需要把之前開發(fā)的一套系統(tǒng)遷移到一個(gè)離線的服務(wù)器上,這個(gè)服務(wù)器有點(diǎn)麻煩,接入VPN后通過堡壘機(jī)才能訪問,速度也很慢,遇到不少坑,本文記錄一下遷移過程,需要的朋友可以參考下
    2023-06-06
  • centos7搭建docker私人倉庫的方法(kubernetes)

    centos7搭建docker私人倉庫的方法(kubernetes)

    這篇文章主要介紹了centos7搭建docker私人倉庫的方法(kubernetes),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • 使用Docker快速安裝grafana的基本步驟

    使用Docker快速安裝grafana的基本步驟

    Grafana 是一個(gè)強(qiáng)大的開源監(jiān)控和數(shù)據(jù)分析平臺(tái),它能夠與各種數(shù)據(jù)源集成,并提供靈活的可視化和儀表盤功能,下面給大家分享Docker 中安裝 Grafana 的基本步驟,感興趣的朋友一起看看吧
    2024-01-01
  • Docker 徹底刪除私有庫鏡像的操作

    Docker 徹底刪除私有庫鏡像的操作

    這篇文章主要介紹了Docker 徹底刪除私有庫鏡像的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 詳細(xì)講解Docker-Compose部署Kafka?KRaft集群環(huán)境

    詳細(xì)講解Docker-Compose部署Kafka?KRaft集群環(huán)境

    這篇文章主要為大家介紹了Docker-Compose部署Kafka?KRaft集群環(huán)境的全面詳細(xì)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • docker實(shí)現(xiàn)導(dǎo)出、導(dǎo)入和數(shù)據(jù)搬遷

    docker實(shí)現(xiàn)導(dǎo)出、導(dǎo)入和數(shù)據(jù)搬遷

    本篇文章主要介紹了docker實(shí)現(xiàn)導(dǎo)出、導(dǎo)入和數(shù)據(jù)搬遷,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • docker容器修改端口和目錄映射的方法步驟

    docker容器修改端口和目錄映射的方法步驟

    在使用Docker時(shí),容器的端口映射是一個(gè)核心概念,它允許容器與宿主機(jī)以及外部網(wǎng)絡(luò)進(jìn)行通信,這篇文章主要介紹了docker容器修改端口和目錄映射的方法步驟,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • docker安裝sentinel的實(shí)現(xiàn)示例

    docker安裝sentinel的實(shí)現(xiàn)示例

    本文主要介紹了docker安裝sentinel的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12

最新評(píng)論