由於我多年前買過一張 RTX GeForce 2070 顯卡 (GPU),雖然僅有內建 8.0 GB 的專屬 GPU 記憶體,但要跑一些小的 LLM 模型還是可以的。最近在嘗試把一些 LLM 應用程式跑在 Docker 容器中,但是發現 Docker Desktop for Windows 預設是不支援 NVIDIA CUDA 的,需要特別設定一下才能使用。這篇文章記錄一下設定的過程。
... 繼續閱讀 ...
今天收到一個 Angular 9 的老舊專案,由於我電腦目前的 Node.js 版本太新,無法正常開發,由於我只是單純的想在本機建置專案,所以決定使用 Docker 容器來準備建置環境。這篇文章我就來分享如何快速在容器中打造一個 Angular 的建置環境。
... 繼續閱讀 ...
我的電腦有安裝 WSL 2 與 Docker Desktop WSL 2 backend,這兩個分別各使用了一個 ext4.vhdx
虛擬硬碟,我在使用 WSL 2 與 Docker 一段時間之後,這兩個虛擬硬碟變的非常大,分別佔用了 39GB 與 79GB 之多,我想是時候來壓縮這兩個虛擬硬碟了。這篇文章我就來說明壓縮 vhdx 的方法。
... 繼續閱讀 ...
要遷移 Container Image 到另一台主機的方法很多,最簡單的就是自己架設 Container Registry 或使用雲端的 Container Registry 服務,只要把本機的 image 推送到遠端,就可以到另外一台電腦下載。但如果只是同事之間要遷移 Container Image 而已,或是在企業完全斷網(air-gapped)的環境下要傳輸檔案到另一台電腦,這時就有好幾種作法可以用。本篇文章將分享幾種常見的情境,告訴你怎樣可以順利的移轉容器或容器映像。
... 繼續閱讀 ...
我先前寫過兩篇文章,一篇是 使用 Docker 執行 SQL Server on Linux 容器之常用工具與命令 分享各種常見的執行命令,另一篇則是 深入剖析 docker run 與 docker exec 的 -i 與 -t 技術細節 幫助我更加理解 Docker 處理 STDIN 與 Virtual Terminal (VT) 之間的關係。這讓我連結到一個長久以來希望被微軟實現的需求,如果我想直接透過 STDIN 將 T-SQL 傳入 SQL Server on Linux 容器執行,不想先把本機的 T-SQL 檔案複製進去,那該如何處理?想不到還真的給我研究出方法了!
... 繼續閱讀 ...
我們在跑 Docker 容器時,經常會用 -it
這個參數來啟動容器,並且在容器中執行命令。不過長久以來我並沒有真正深入理解這兩個參數的用法與使用情境,以至於我昨天在跑一個 MySQL 容器時,就又再次遇到相關的問題。經過深入研究後發現,覺得這背後的基礎原理還是要知道才行,所以這篇文章我打算來好好說明一下這兩個參數選項的技術細節! 👍
... 繼續閱讀 ...
我們公司內部有台 Windows 10 測試機,幾乎所有的環境都跑在 Docker 容器中,但這台 VM 每次重開的時候,都需要人工進入系統啟動 Docker Desktop 並且手動執行因為重開而被停止的容器。這篇文章我打算來分享一個小技巧,教你如何將現有正在執行的容器,可以在系統開機時就自動跑起來。
... 繼續閱讀 ...
前幾天一樣在客戶端進行 Kubernetes 教育訓練的時候,發現有少部分學員無法正確部署應用程式,我們的例子是一個 ASP.NET Core 網站,搭配一個 SQL Server Linux 容器,然而在練習實作 livenessProbe
的時候,卻發現有些人怎樣都無法將 SQL Server Linux 容器啟動,但是若將 livenessProbe
設定移除,服務可以啟動。若將 Pod 中容器的記憶體限制移除,服務也可以順利啟動。是不是有點詭異?這篇文章我就來說說這個來龍去脈!
... 繼續閱讀 ...
今天使用 Visual Studio Code 的 Remote Development 將一個 .NET 6 與 SQL Server 開發環境全部放到 Docker 容器中。雖然照著文件操作都很順利,但在專案加入版控之後,問題就出現了。這篇文章我想點出現今容器化、跨平台的時代中,換行符號其實不得不面對他,否則遇到問題會無所適從。
... 繼續閱讀 ...