The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

當 .NET Core 執行在 Linux 或 Docker 容器中如何優雅的結束

當我們將 .NET Core 跑在 Linux 或 Docker 容器中,我們不但希望程式可以穩定的執行,當程式需要結束的時候,更應該考慮如何「優雅的結束」(Graceful Shutdown)。這部分資訊很難在 docs.microsoft.com 或 GitHub 原始碼專案中找到,本篇文章將分享 .NET Core 如何捕捉作業系統送出的 TERM 訊號,在關閉程式前可以妥善處理程式結束前該做的準備。

... 繼續閱讀 ...

建立 R 開發環境:起手式

要開始建立 R 的互動執行環境,有些安裝與設定的步驟,對於完全沒用過 R 的人來說,可能會卡關一下。我特別寫了這篇文章,紀錄建立 R 開發環境的起手式,以及執行在 Docker 的一些注意事項。

... 繼續閱讀 ...

如何在 Windows Containers 建立內含正式 SSL/TLS 憑證的 IIS 網站

若想將 ASP.NET 網站安裝至 Windows Containers 容器中,其實還算簡單,直接使用微軟官方提供的 mcr.microsoft.com/dotnet/framework/aspnet:4.8 容器映象就可以立即使用。但如果要另外安裝 SSL/TLS 憑證的話,那就顯的有點麻煩了,即便官方有提供簡易範例,但要調整為正式憑證的話,網路上似乎沒有完整的文章說明,本篇文章就來詳實記錄所有的技術細節。

... 繼續閱讀 ...

如何進入 Docker Desktop 的 MobyLinuxVM 並調整系統參數 (WSL 2)

昨天在 Docker Desktop 2.3.0.2 (45183) 啟用 WSL 2 支援之後,我原本跑在本機 Docker 的 Elasticsearch 就無法啟動了。從 log 下去看,會感覺是記憶體不夠的問題,但是 Docker Desktop 搭配一個較為輕量的 WSL 2 核心引擎,因此從 Docker Desktop 的 Settings 介面卻怎樣也找不到調整 CPU & Memory 的地方,卡了十幾分鐘才找到解決辦法。

... 繼續閱讀 ...

Windows Container 版本相容性與多重架構容器映像介紹

自從 Windows 核心版本 v14393 開始,也就是 Windows Server 2016 LTSC 與 Windows 10 年度更新版,正式開始支援 Windows 容器,這意謂著企業可以開始將傳統 Windows 應用程式正式容器化,透過容器化技術隔離應用程式,最大的優勢,就是容器技術會讓應用程式不會再遇到部署環境變更導致的任何問題。不過 Windows 核心版本不斷更新,也開始出現了相容問題,本篇文章將說明各種容器相容性的解決方案。

... 繼續閱讀 ...

如何修復 Docker Desktop for Windows 各種奇怪的網路問題

Windows Container 的網路有時候會遇到一些奇怪的現象,尤其是在我這台筆電,因為實在安裝過太多版本,作業系統也升級好幾次,有時候為了演講也要調整本機網路設定,所以設定很亂也應該是正常的。這幾天我就發現升級到 Windows 10 版本 1903 之後,網路功能出了一點狀況,這次撰文的過程也徹底將 docker networking 做了深入的研究與理解,收穫頗豐!

... 繼續閱讀 ...

設定 Windows 10 (版本 1809) 的 Windows 容器預設採用 process 隔離模式

從 Windows 10 (版本 1809) 開始,Windows 容器正式支援處理序隔離模式 (--isolation=process),在這之前都只支援 Hyper-V 隔離模式 (--isolation=hyperv),這兩種模式最大的差異在於啟動速度容器隔離性。不過,雖然 Windows 10 (版本 1809) 已經支援處理序隔離,但預設值卻還是以 Hyper-V 隔離模式為主,本篇文章將說明如何將預設值切換到處理序隔離模式

... 繼續閱讀 ...