Yoru Karu Studio

程式設計學習筆記 | 生活心得

Docker 教學 第 2 堂:容器生命週期、Nginx Volume 與 Flask 練習

2-1 容器生命週期與管理指令(約 50 分鐘) 容器基本操作概念 上一堂已經知道 Docker 會用 image 建立 container。這一節不要先背指令,先用 nginx 跑一次完整流程: Registry(Docker Hub) ↓ docker pull Image(nginx) ↓ docker run Container(nginx-life) ↓ docker stop / docker start / docker restart Running / Exited ↓ docker rm Container 被刪除 ↓ docker rmi Image 被刪除這裡要先建立一個很重要的觀念: Image 是範本:像安裝檔或模板,本身不會因為容器裡的操作被改掉。 Container 是執行個體:從 image 建立出來,可以啟動、停止、刪除。 Container 預設是可拋棄的:你在 container 裡改的東西,如果沒有用 Volume 或重新 build 成 image,刪掉 container 後就會消失。這也是常說的「容器本身盡量保持無狀態(stateless)」。 今天先用 nginx 示範這件事,因為它一跑起來就有網頁可以看,學生會比較有感。 Step 1:先下載 nginx image 這一步只做一件事:把 nginx image 下載到本機。

CJK 生僻字實戰:當系統印不出學生的名字

前言

你有遇過系統印出來的名字變成方框「□」的情況嗎?

最近在維護一個考試報名系統時,遇到了一個真實的問題:學生的姓名中有「生僻字」,也就是一般字型檔裡沒有的罕用漢字。這些字在資料庫裡存得好好的,螢幕上有的字型能顯示、有的不行,但最關鍵的是——PDF 證書和收據上印不出來

這篇文章記錄了整個排查和解決的過程,涉及 Unicode 的 Private Use Area、全字庫字型、PDFKit 的字型 Fallback 機制,以及 PostgreSQL 的字元儲存。

0%