如何修復“Docker:無效的引用格式”錯誤

Docker簡化了容器的建置、運作和管理。然而,在執行或建置鏡像時,您可能會遇到「無效引用格式」錯誤。大多數情況下,這是由於鏡像名稱或標籤中存在輕微的格式錯誤造成的。例如,錯誤可能是由於大寫字母、特殊字元或缺少值造成的。本指南將解釋此錯誤的常見原因以及如何修復它以防止其再次發生。

修復“無效參考格式”錯誤

讓我們找出「無效參考格式」錯誤的最常見原因以及如何修復它們:

圖片名稱中的大寫字母

Docker 要求映像名稱必須小寫。即使只有一個大寫字母也可能導致格式錯誤。例如,執行以下命令將導致錯誤:

docker pull NGINX
如何修復“Docker:無效的引用格式”錯誤
檔案名稱必須小寫

為避免此錯誤,請務必在運行命令之前仔細檢查圖像名稱是否為小寫。

docker pull nginx
如何修復“Docker:無效的引用格式”錯誤
使用小寫字母

特殊字符或無效字符

有時使用者會意外地新增 Docker 不允許的字元。這些字元包括 @ 符號、空格,或從網站或文件中複製的看似正常但實際上不正常的字元。

例如以下命令包含特殊字元@,將導致以下錯誤:

docker run ubuntu@:latest
如何修復“Docker:無效的引用格式”錯誤
特殊字元錯誤

若要修復此錯誤,請確保命令中沒有多餘的字元或格式問題。您可以使用純文字編輯器檢查並清理命令(如有必要):

docker run ubuntu:latest
如何修復“Docker:無效的引用格式”錯誤
避免使用特殊字符

無標籤冒號

最常見的錯誤之一是在鏡像名稱末尾添加冒號,但沒有包含標籤。例如,讓我們嘗試以下命令來拉取 Node:

docker pull node:

Docker 期望在冒號後面輸入一個值,例如 latest 、 18-alpine 或任何其他有效標籤。如果沒有提供任何值,則鏡像名稱將被視為不完整,並會導致「無效引用格式」錯誤:

如何修復“Docker:無效的引用格式”錯誤
無標籤冒號

要修復此錯誤,請在冒號後添加適當的標籤,以使圖像名稱完整且有效:

docker pull node:latest
如何修復“Docker:無效的引用格式”錯誤
在冒號後面加上標籤

檔案路徑或卷宗掛載包含空格

當你包含包含空格的檔案路徑時,尤其是使用 -v (磁碟區掛載)之類的選項時,Docker 可能會將路徑的某些部分誤解為單獨的參數,甚至是映像名稱的一部分。因此,你可能會遇到如下所示的意外結果:

docker run -v /home/user/My Folder:/app ubuntu
如何修復“Docker:無效的引用格式”錯誤
檔案名稱中的空格

為了避免這種情況,請始終用雙引號將檔案路徑括起來並用空格引起來,如下所示:

docker run -v "/home/user/My Folder:/app" ubuntu

將“/home/user/My Folder”替換為您要掛載到容器中的目錄的實際路徑。

變數使用不當

使用 Docker 時,通常會在命令中使用變量,尤其是在指定映像版本時。但是,如果未正確設定 $VERSION 之類的變量,Docker 可能會遇到「引用格式無效」之類的問題。

例如,執行以下命令從 Docker Hub 拉取 Ubuntu:

docker pull ubuntu:$VERSION

這裡,$VERSION應該代表要拉取的 Ubuntu 映像的版本。但是,如果您沒有為其賦值,Docker 會將該命令解釋為「docker pull ubuntu:」。這會導致鏡像名稱無效,因為它以冒號結尾,並且缺少所需的版本標籤。

如何修復“Docker:無效的引用格式”錯誤
變數使用不正確

為避免這種情況,請確保命令中使用的所有變數都已正確定義。在 Linux 中,您可以使用下列語法設定變數。

$VERSION=latest

然後執行以下指令拉取指定版本。

docker pull ubuntu:$VERSION

在 Windows CMD 中,您需要使用 set 關鍵字來定義一個變數(如 version),然後使用%VARIABLE%語法在 docker pull 等命令中引用它。

set VERSION=latest
docker pull ubuntu:%VERSION%

這裡,$VERSION 保存的是最新值,因此 Docker 可以順利拉取ubuntu:latest映像。如果需要,您也可以指定特定版本,例如 18.04。

如何修復“Docker:無效的引用格式”錯誤
正確定義變數

複製貼上問題

有時使用者會從線上教學或文件複製命令。這些複製的命令可能包含隱藏字符,例如不可見的空格、非英語標點符號或特殊引號。這些字元可能會悄無聲息地破壞您的 Docker 命令。

為了避免這種情況,最好盡可能自己輸入命令,或者先將命令貼上到純文字編輯器中以刪除不需要的格式。

現在您已經了解了 Docker 中「無效引用格式」錯誤的常見原因及其解決方法,未來就能更好地避免此類問題。從檢查大小寫到確保變數設定正確,這些簡單的技巧可以幫助您節省大量時間,避免不必要的麻煩。如果您準備進一步探索,您可能還想學習如何標記自訂 Docker 映像並將其推送到映像倉庫,或如何清理未使用的映像以保持系統清潔。

Tags: #System
Sign up and earn $1000 a day ⋙

Leave a Comment

如何關閉 Microsoft Store 中的自動應用程式更新

如何關閉 Microsoft Store 中的自動應用程式更新

商店已移除永久更新開關,現在僅允許您暫停應用程式更新 1 至 5 週。如果您想阻止強制應用程式更新,可以嘗試以下一些設定。

如何在 Windows 11 螢幕上顯示時鐘

如何在 Windows 11 螢幕上顯示時鐘

除了在工作列上顯示時鐘之外,在 Windows 11 上,您還可以調整在電腦螢幕上顯示時鐘。

如何修復顯示紅燈的主機板錯誤

如何修復顯示紅燈的主機板錯誤

當您的系統無法啟動時,看到主機板上的紅燈亮著是很可怕的,尤其是當主機板拒絕告訴您燈亮的原因時。

總結一些Windows電腦禁用USB連接埠的簡單方法

總結一些Windows電腦禁用USB連接埠的簡單方法

在 BIOS 中解鎖 USB 連接埠並不難。但是,如何鎖定電腦 USB 連接埠呢?讓我們跟著 Quantrimang.com 一起來探索吧!

如何修復 Windows 10 中的「錯誤系統設定資訊」錯誤

如何修復 Windows 10 中的「錯誤系統設定資訊」錯誤

系統設定資訊錯誤是 Windows 10 系統上常見的錯誤檢查錯誤。讓我們來看看一些解決這個問題的方法。

如何使用放大鏡 Windows 11 反轉螢幕顏色

如何使用放大鏡 Windows 11 反轉螢幕顏色

使用 Windows 11 上的放大鏡反轉功能可以提高文字的可讀性,特別是對於對光線敏感的人。

啟用 XMP 來優化 RAM 速度

啟用 XMP 來優化 RAM 速度

如果您想要建立自己的 PC 系統並決定投資一些高速 RAM,那麼如何確保您的 RAM 能夠達到廣告宣傳的速度?

10 個不應保留預設設定的 Windows 設定

10 個不應保留預設設定的 Windows 設定

Windows 預設沒有設定安全性,這表示您需要更改一些預設設定。

6 個最佳免費動態 DNS 供應商

6 個最佳免費動態 DNS 供應商

動態 DNS(也稱為 DDNS 或 DynDNS)是將網際網路網域名稱對應到具有動態 IP 位址的電腦的服務。大多數電腦透過 DHCP 連接到路由器,這意味著路由器會隨機為電腦分配一個 IP 位址。

如何在不遺失任何重要資料的前提下釋放 Windows 11 PC 上的 48GB 空間

如何在不遺失任何重要資料的前提下釋放 Windows 11 PC 上的 48GB 空間

在臨時檔案、過時的備份、重複資料和未使用的應用程式之間,有許多方法可以回收空間而無需觸及您的個人檔案。

檢查 MD5 和 SHA1 來檢查文件完整性

檢查 MD5 和 SHA1 來檢查文件完整性

我們將使用專門的程式檢查檔案的MD5和SHA1碼,看看檔案是否有錯誤。 MD5校驗軟體HashCalc是檢查MD5和SHA1碼的非常實用的工具之一。

無需電腦即可使用顯示器的 7 種巧妙方法

無需電腦即可使用顯示器的 7 種巧妙方法

說到顯示器,你可能會想像它連接到PC或筆記型電腦。然而,實際上,顯示器可以與許多其他設備配合使用。

為什麼驅動器上有一個鎖定圖示以及如何刪除它?

為什麼驅動器上有一個鎖定圖示以及如何刪除它?

想知道為什麼檔案總管中的磁碟機上會出現一個鎖定圖示嗎?本文解釋了它的含義以及如何在 Windows 10 中移除磁碟機上的鎖定圖示。

如何在 Windows 11 中變更數字格式

如何在 Windows 11 中變更數字格式

數字格式決定了數字的顯示方式,包括您選擇的小數分隔符號(例如句點或逗號)和千位分隔符號。以下是如何在 Windows 11 中變更數字格式。

如何關閉 Microsoft Store 中的自動應用程式更新

如何關閉 Microsoft Store 中的自動應用程式更新

商店已移除永久更新開關,現在僅允許您暫停應用程式更新 1 至 5 週。如果您想阻止強制應用程式更新,可以嘗試以下一些設定。

如何修復“Docker:無效的引用格式”錯誤

如何修復“Docker:無效的引用格式”錯誤

Docker 簡化了容器的建置、運作和管理。然而,在執行或建置鏡像時,您可能會遇到「引用格式無效」的錯誤。

如何在 Windows 11 螢幕上顯示時鐘

如何在 Windows 11 螢幕上顯示時鐘

除了在工作列上顯示時鐘之外,在 Windows 11 上,您還可以調整在電腦螢幕上顯示時鐘。

如何修復顯示紅燈的主機板錯誤

如何修復顯示紅燈的主機板錯誤

當您的系統無法啟動時,看到主機板上的紅燈亮著是很可怕的,尤其是當主機板拒絕告訴您燈亮的原因時。

總結一些Windows電腦禁用USB連接埠的簡單方法

總結一些Windows電腦禁用USB連接埠的簡單方法

在 BIOS 中解鎖 USB 連接埠並不難。但是,如何鎖定電腦 USB 連接埠呢?讓我們跟著 Quantrimang.com 一起來探索吧!

如何修復 Windows 10 中的「錯誤系統設定資訊」錯誤

如何修復 Windows 10 中的「錯誤系統設定資訊」錯誤

系統設定資訊錯誤是 Windows 10 系統上常見的錯誤檢查錯誤。讓我們來看看一些解決這個問題的方法。

如何使用放大鏡 Windows 11 反轉螢幕顏色

如何使用放大鏡 Windows 11 反轉螢幕顏色

使用 Windows 11 上的放大鏡反轉功能可以提高文字的可讀性,特別是對於對光線敏感的人。

啟用 XMP 來優化 RAM 速度

啟用 XMP 來優化 RAM 速度

如果您想要建立自己的 PC 系統並決定投資一些高速 RAM,那麼如何確保您的 RAM 能夠達到廣告宣傳的速度?

10 個不應保留預設設定的 Windows 設定

10 個不應保留預設設定的 Windows 設定

Windows 預設沒有設定安全性,這表示您需要更改一些預設設定。

6 個最佳免費動態 DNS 供應商

6 個最佳免費動態 DNS 供應商

動態 DNS(也稱為 DDNS 或 DynDNS)是將網際網路網域名稱對應到具有動態 IP 位址的電腦的服務。大多數電腦透過 DHCP 連接到路由器,這意味著路由器會隨機為電腦分配一個 IP 位址。

如何在不遺失任何重要資料的前提下釋放 Windows 11 PC 上的 48GB 空間

如何在不遺失任何重要資料的前提下釋放 Windows 11 PC 上的 48GB 空間

在臨時檔案、過時的備份、重複資料和未使用的應用程式之間,有許多方法可以回收空間而無需觸及您的個人檔案。

檢查 MD5 和 SHA1 來檢查文件完整性

檢查 MD5 和 SHA1 來檢查文件完整性

我們將使用專門的程式檢查檔案的MD5和SHA1碼,看看檔案是否有錯誤。 MD5校驗軟體HashCalc是檢查MD5和SHA1碼的非常實用的工具之一。

無需電腦即可使用顯示器的 7 種巧妙方法

無需電腦即可使用顯示器的 7 種巧妙方法

說到顯示器,你可能會想像它連接到PC或筆記型電腦。然而,實際上,顯示器可以與許多其他設備配合使用。

為什麼驅動器上有一個鎖定圖示以及如何刪除它?

為什麼驅動器上有一個鎖定圖示以及如何刪除它?

想知道為什麼檔案總管中的磁碟機上會出現一個鎖定圖示嗎?本文解釋了它的含義以及如何在 Windows 10 中移除磁碟機上的鎖定圖示。

如何在 Windows 11 中變更數字格式

如何在 Windows 11 中變更數字格式

數字格式決定了數字的顯示方式,包括您選擇的小數分隔符號(例如句點或逗號)和千位分隔符號。以下是如何在 Windows 11 中變更數字格式。