首頁 Tags
"Docker" 2026-10-25
源站防火牆只放行 Cloudflare 位址的實測紀錄:firewalld、Docker 發佈的連接埠、DOCKER-USER、nftables 表與出站 DNS
要在 Linux 主機上設定只放行 Cloudflare 位址的防火牆、確認 Docker 發佈的連接埠有沒有繞過 firewalld、在 DOCKER-USER、StrictForwardPorts 與 nftables 表之間選一種限制容器的來源、或限制出站 DNS 時,查 Oracle Linux 10 上實際跑過的指令、輸出,以及規則在重新載入、dockerd 重啟與重開機之後還在不在 2026-05-21
Image build、scan、registry 與 promotion 流程
說明 Docker / container image CI/CD 如何建立可追溯 tag、掃描 gate、registry promotion 與 runtime handoff 2026-10-26
ufw 主機上 Docker 發佈連接埠的實測紀錄:ufw 規則的效果、DOCKER-USER 規則的存續與 after.rules、IPv6 的 docker-proxy、compose 內建 DNS 的出站路徑
在 Ubuntu 的 ufw 主機上用 Docker 發佈連接埠、想只放行 Cloudflare 的位址、或想限制容器送出的 DNS 查詢時,查 ufw 規則對發佈連接埠的效果、DOCKER-USER 規則在 reload 與重開機之後還在不在、IPv6 那一份發佈由誰接收,以及 compose 容器的 DNS 封包從哪裡送出 2026-07-08
遠端 agent 工作機選型:家用機還是 VPS
要架一台跑 coding agent / 長任務的常駐遠端工作機、在家用機與 VPS 之間猶豫、擔心延遲 / 浮動 IP / 環境隔離、或要估 VPS 規格與計費時回來讀 2026-07-06
對齊 prod 的 runtime container
要開發一個線上跑 PHP 7.2 / MySQL 5.7 舊環境的專案、或要在本機重現線上事故時回來讀 — 對齊哪些維度、怎麼從線上抄設定、什麼時候值得 2026-10-26
Podman 與 rootless Docker 發佈連接埠的實測紀錄:rootful Podman 在 ufw 與 firewalld 上的轉送路徑、rootless Docker 與 rootless Podman 由主機程式接收的連接埠與容器看到的來源位址
用 Podman 或 rootless 模式的 Docker 發佈連接埠、想知道 ufw 或 firewalld 的規則管不管得到、或想在容器裡拿到連線的真實來源位址時,查 rootful Podman 在 ufw 與 firewalld 上的不同結果、rootless 模式接收連線的路徑,以及容器看到的來源位址 2026-07-08
遠端 agent 工作機實作記錄:從 Docker image 到手機端跑通
要把 mosh + zellij + Claude Code + ntfy + 手機連線的遠端 agent 工作流在 VM 上實際架起來、需要每一步的驗證標準與除錯分流時回來讀 2026-07-06
dotfile 跨進 runtime container
想在對齊 prod 的 container 裡用自己順手的 shell / vim、又不想把工具裝進 image 破壞 parity 時回來讀 — 在 running container 裝開發工具、跟 runtime 分層 2026-07-06
環境 as code 的三個尺度
搞不清楚 dotfile / Dockerfile / IaC 的分界、或某個 Dockerfile 到底該放個人 repo 還是專案 repo 時回來讀 — 環境 as code 的個人/應用/組織尺度與歸屬標準 2026-07-03
Process supervisor 選型
在 systemd、supervisord、Docker restart policy、Kubernetes 之間選服務監管方式時,用平台能不能分開表達 startup、readiness、liveness、drain 當判斷標準 2026-06-19
CI 中的服務 fixture 管理
在 CI 中啟動和停止真實服務的 test harness 設計 — Process.start / Docker / testcontainers 三種方案的適用場景 2026-10-25
CDN 後面的源站主機防火牆:只放行 CDN 來源的位置與套用時機、Docker 發佈連接埠的封包路徑、出站 DNS 的限制與地理封鎖
網站放在 CDN(例如 Cloudflare)後面時,源站主機的入站與出站限制:請求避開 CDN 直連源站的成因、來源限制放在雲端防火牆、主機防火牆或 CDN 端驗證的差別、只放行 CDN 位址的套用時機、Docker 發佈的連接埠繞過 ufw 與 firewalld 的路徑與各種限制寫法、CDN 位址送來的請求為什麼不等於 CDN 替自己的網域轉送、出站 DNS 限制的效果與漏洞、地理封鎖放在 CDN 邊緣的理由 2026-10-05
容器的健康檢查:Docker HEALTHCHECK 的狀態、unhealthy 之後由誰處理、depends_on 的啟動把關與 distroless 映像檔
說明 Docker 的 HEALTHCHECK 與 Compose 的 healthcheck 怎麼運作:starting、healthy、unhealthy 三個狀態與時間參數的換算,容器變成 unhealthy 之後 Docker 與 restart policy 各自做什麼、不做什麼,depends_on 的 service_healthy 只在啟動時把關會帶來的連鎖失敗,以及沒有 shell 的 distroless 映像檔怎麼做健康檢查 2026-07-08
在 container 裡跑 Claude Code:安裝、認證與 hooks 通知
要把 Claude Code 裝進 container 當遠端 agent、遇到重建後要重認證、agent 要 clone/push 私有 repo 卻卡在認證、或想讓任務結束自動推通知時回來讀 2026-10-05
多容器服務的存活監看:容器健康檢查、外部探測與指令列查詢的分工
說明一組用 Compose 跑的多容器服務怎麼回答「每個服務還活著嗎」:容器健康檢查、從另一個容器發請求的外部探測、SSH 進主機時用的查詢腳本各自看得到與看不到的範圍,外部探測工具(Gatus、Uptime Kuma)的選擇、TCP 檢查與經過負載平衡的檢查的限制,以及監看工具自己掛掉時怎麼發現 2026-10-05
容器裡的 Nginx 與 PHP-FPM:拆成兩個容器與放進同一個容器的做法與各自的陷阱
說明把 Nginx 與 PHP-FPM 放進容器的兩種擺法:官方 php-fpm 映像檔替容器改掉的預設值(log 導向、clear_env、監聽位址、停機訊號),拆成兩個容器時程式碼要兩邊都有、否則靜態檔會被 PHP 回成 200 的 HTML,以及放進同一個容器時要自己處理的程序監看、停機訊號轉送與 FastCGI 的監聽範圍 2026-07-03
容器化資源設計
把容量規劃落到容器上時,怎麼定 memory 與 CPU 限制不觸發 OOMKill 或 throttle、以及 overlay filesystem 對高頻寫入的 I/O 影響 2026-07-06
Dockerfile 設計:指令、layer 與 multi-stage
image 大得離譜、code 一改就整包重 build、或 multi-stage 複製 binary 後 container 起不來說找不到 library 時回來讀 — Dockerfile 指令怎麼變成 layer、build 與 runtime 怎麼分離 2026-10-13
單機 Compose 的最小監控堆疊:各 exporter 的掛載、讀取設定與 Grafana 佈建
以 Docker Compose 在一台主機上接起 Prometheus、Alertmanager、Grafana 與主機、容器、資料庫、快取、入口各層的 exporter:每個掛載與旗標為什麼需要、讀取設定與規則的放法、Grafana 以檔案佈建、連接埠與帳號的權限,以及讀取對象全部 UP 時仍可能漏掉的監控 2026-06-20
Container 部署設計
Docker 部署 collector 的設計 — SQLite 在 overlay filesystem 的 I/O 考量、volume mount、graceful shutdown、資源限制 2026-07-06
Docker Compose:多 service dev 環境編排
一個 app 要好幾個 container(DB / cache / web)、手動 docker run 串不起來、或 compose 起來後 app 連不到 DB 或 DB 還沒 ready 就被連時回來讀 — 多 service 怎麼宣告式編排 2026-10-12
4.26 單機容器服務的流量與資源監控:各層的訊號、Prometheus 與 exporter、監控所在層的盲區
健康檢查之外的流量與資源監控:入口、應用程式、容器、主機與資料庫等服務內部各層的訊號從哪裡收、用哪一個 exporter,Prometheus 加 exporter、單一 agent、開箱即用工具與臨時查看指令的取捨,單次取樣與時間窗的差別,監控裝在虛擬機裡時看不到主機的 CPU 負載、看到的磁碟要分清是哪一顆,以及每接上一個來源的驗收與偵測容器停止的寫法;cAdvisor 與 node_exporter 在 OrbStack 上實測過 2026-07-06
BuildKit 與跨平台 build
docker build 每次重下載套件很慢、要同時出 amd64 與 arm64 image、或 build 時要用私有存取憑證卻不想烤進 image 時回來讀 — BuildKit 的 cache/secret mount 與 buildx 跨平台 build 2026-07-06
image 版本管理與升級:不動舊的、建新的
有一個跑著的 stack 要升版(PHP / MySQL 升級)、不想弄壞現在能跑的、又不確定多個版本的 image 跟 Dockerfile 怎麼管時回來讀 — image 不可變下的升級與版本管理 2026-07-08
Docker Named Volume Ownership(掛載點擁有者)
container 內非 root 使用者寫不進掛載的 named volume、出現 permission denied 時回來讀 2026-10-26
DOCKER-USER(Docker 留給使用者的轉送規則鏈)
要在 Docker 發佈的連接埠上加來源限制、寫進 DOCKER-USER 的規則在防火牆重新載入或重開機之後不見、或規則擋到了容器自己往外的連線時,查這條鏈在轉送路徑上的位置、比對原始連接埠的寫法與規則的存續條件 2026-10-26
Userland Proxy(使用者空間的連接埠轉送程式)
ss 列出 docker-proxy、rootlesskit 或 rootlessport 聽著容器發佈的連接埠、主機防火牆的入站規則對容器的連接埠有效、或容器的存取紀錄只看得到閘道位址而沒有真實來源時,查這類轉送程式接收連線的路徑與它換掉來源位址的代價 2026-07-06
Container-per-Service(一容器一職責)
第一次發現一個 web app 要開好幾個 container、不懂為什麼不塞一個大 container、或不確定什麼該獨立成一個 container 時回來讀 — 一容器一職責的理由與邊界 2026-07-06
QEMU binfmt Emulation(跨架構模擬)
docker 跑非原生架構的 image 報 exec format error、mysql:5.7 在 Apple Silicon 要 platform: linux/amd64、或跨平台 build 特別慢時回來讀 — 非原生 image 怎麼被模擬跑起來 2026-07-06
Immutable Image(不可變映像)
想「修改 / 升級一個已經 build 好的 image」、或搞不懂為什麼同一個 tag 隔天內容變了時回來讀 — image 是不可變的 build 產物、改了就是新 image 2026-11-03
restic sidecar 容器的密碼操作:啟動腳本依 exit code 判斷、換密碼、外洩後搬到新 repository 與唯讀還原演練
restic 以 Docker Compose 的 sidecar 容器做自架備份、要換密碼或密碼可能外洩時:啟動腳本怎麼分辨 repository 不存在與密碼錯誤、只改 .env 為什麼讓備份停擺、容器還在跑時換密碼的步驟、外洩後建新 repository 並用 restic copy 搬快照,以及唯讀掛載時 restore 重試十幾分鐘才失敗的成因 2026-11-03
SQLite 換機搬遷演練:Litestream restore、UID 對齊與停用舊主機的複製
家用主機要換新機、SQLite 資料庫由 Litestream 持續備份時,從 replica 把資料還原到新主機的步驟、只複製資料庫主檔會少掉的資料、還原後容器寫入時出現 attempt to write a readonly database 的成因,以及舊主機的複製沒停掉時 replica 裡會少掉哪些寫入 2026-10-23
開發機的定期空間清理:專案產物、快取、並存的工具鏈版本、虛擬磁碟與 App 沙箱容器的判讀
開發機的佔用依「刪除之後由誰重建、刪除前要查證什麼」分類,每一類各自的判斷依據與檢查指令;涵蓋專案編譯產物、套件與 App 的快取、Gradle/NDK/模擬器映像/Flutter SDK 這類並存的工具鏈版本、容器的虛擬磁碟、模擬器裝置與自己開發的 App 的沙箱容器,以及刪除前要先辨識出來的被忽略檔。 2026-07-08
一個修法埋下三步後的雷:pacman 404 → -Syu 升 kernel → docker 起不來
Arch 上裝套件 404、修完之後 docker daemon 突然起不來、iptables 報 nf_tables 錯誤時回來讀 — 症狀與根因差三步的因果鏈與判讀法。 2026-06-15
驗證導向的 CLI 工具文章:官方 docs 查核放過的落差類型
CLI 工具教學的指令正確性不能只靠官方文件查核、要實機驗證時回來。官方文件驗的是「文件說的是否正確」、驗不了「文件沒說的是否存在」。 Tarragon (CC BY 4.0) | 使用 hugo 製作