Discuz! Board

 找回密码
 立即注册
查看: 412|回复: 4

使用控制台調試容器

[复制链接]

1

主题

1

帖子

5

积分

新手上路

积分
5
发表于 2024-4-16 19:13:55 | 显示全部楼层 |阅读模式
儘管這個解決方案並不是解決這個問題的最理想的解決方案,但這並不意味著該模組不值得了解。 特別是在針對不同作業系統使用 JavaScript 進行編譯時(例如作為桌面應用程式),您很快將無法再避免使用node-pre-gyp模組。它允許針對不同平台重新編譯應用程式的依賴項。這不僅適用於作業系統差異,也適用於不同庫中使用不同節點版本等情況。 在這種情況下,一旦複製完成,就可以全域安裝node-pre-gyp 。然後,可以使用模組中的重建命令為在 Linux 上運行的容器重建 bcrypt 安裝。透過為相應的作業系統「重建」模組,錯誤不再發生,容器現在可以毫無問題地啟動。儘管這種方法比瀏覽目錄和刪除看似隨機的目錄更容易理解,但它增加了一個並非絕對必要的額外依賴項。此外,建置流程開始偏離本地開發環境的標準。



這裡也沒有解決為 Windows 安裝的node_modules從應用程式目錄複製到 Linux 上下文的 沙烏地阿拉伯 電話號碼 實際問題。 所以最好的解決方案是建立一個適當的.dockerignore檔案。這應該與實際的 Dockerfile 處於同一級別,並且僅包含應排除的目錄名稱。在本例中至少是node_modules資料夾。 如果建置檔案位於專用目錄中,則在指定時必須考慮到這一點。 有多種選項可用於排除.dockerignore檔案中的檔案和目錄。可以在此處找到完整的語法清單。 如果將對應的.dockerignore檔案放置在 Dockerfile 旁邊並建置映像,則不會再出現該錯誤。無需為額外的編譯步驟甚至新模組添加額外的時間。 從這個例子中可以清楚地看出,在故障排除時,您通常應該始終詢問實際問題是否正在解決,或者只是其症狀正在解決。 使用控制台調試容器 最後,應該要提到的是,僅透過終端機執行 Docker 命令是有利的。





Docker Desktop等視覺化介面可讓您快速存取所有映像的概覽並一鍵啟動容器,但它們也有其缺點。 例如,如果容器在啟動時崩潰並立即再次關閉,則無法透過圖形介面存取控制台。 如果您想更詳細地檢查容器的內容,可以使用以下命令透過終端啟動它 啟動指令(在我們的範例中為npm start)不會被執行。如果現在手動觸發此命令,即使在崩潰後仍會保留控制台存取權限。這使得導航到容器中新填充的日誌成為可能。 由於範例資料夾中使用了npm,因此您必須先導航到相應的資料夾。與往常一樣,控制台中的初始目錄是應用程式所在的資料夾。因此,您必須先進一步導航至超級目錄,直到根資料夾列在目錄內容清單中(控制台中的顯示指令: ls) 。從那裡您可以導航到子資料夾。 資料夾內容的顯示提供了日誌條目  對於 容器,無法輸出此日誌。

0

主题

8万

帖子

16万

积分

论坛元老

积分
162124
发表于 2024-5-15 20:59:57 | 显示全部楼层

0

主题

8万

帖子

16万

积分

论坛元老

积分
162124
发表于 2024-5-15 21:01:00 | 显示全部楼层

0

主题

8万

帖子

16万

积分

论坛元老

积分
162124
发表于 2024-6-10 02:46:21 | 显示全部楼层

0

主题

8万

帖子

16万

积分

论坛元老

积分
162124
发表于 2024-6-10 02:47:25 | 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|NFT数字藏品交易-全球交流论坛

GMT+8, 2024-11-25 06:07 , Processed in 0.083708 second(s), 20 queries .

NFTOTC!

快速回复 返回顶部 返回列表