内容标签
Docker
记录一个 Next.js 16 monorepo 从 npm 和 Node.js 完整迁移到 Bun 1.4 的过程,覆盖 workspace、开发与构建脚本、bun:test、standalone tracing、Docker 镜像和生产冒烟验证。
从 Linux PID 1 的特殊行为解释 tini 如何转发 SIGTERM、回收僵尸进程并传递子进程退出码,同时区分 exec form、docker run --init 与镜像内置 ENTRYPOINT 的使用边界,回答单进程 Bun 容器是否仍值得保留它。
在同一台电脑、同一份 Next.js standalone 产物和相同访问日志条件下,对比 Bun 1.4 与 Node.js 24 的吞吐量、p99、容器内存和镜像大小,并逐级加压直到延迟超过 1 秒,同时记录重定向与 SIGTERM 对测试结果的干扰。
用 autocannon 的程序化 API 对本地 Web 服务进行多页面轮询和阶梯加压,说明 connections、duration、pipelining、p99 与错误统计,并配合 docker stats 找到延迟拐点,避免只看单次峰值和平均吞吐量。
记录 .NET 6 应用迁入 Linux Docker 后连接 SQL Server 2005 与 2008 R2 的完整排障:从 OpenSSL unsupported protocol、Post-Login 超时一路追到 Managed SNI 的 PreLogin 加密声明,并说明反射兼容方案的风险和适用边界。
排查 Docker push 在镜像层全部上传后仍被阿里云 ACR 个人版拒绝的问题,解释 application/vnd.oci.empty.v1+json、BuildKit provenance 与 OCI Artifact 的版本变化,并给出关闭 attestation、检查 manifest 和重新推送的方法。
整理同一个 ASP.NET Core 项目发布多个主机角色时的配置规范:区分运行环境与主机角色,保留框架默认的 appsettings 加载方式,在发布阶段选择角色配置并生成唯一的 appsettings.Production.json,同时说明 Docker、Windows 和临时配置覆盖的做法。
介绍一种不依赖 wwwroot、也不在 Docker 中编译源码的 Angular 与 ASP.NET Core 合并发布方式:前后端分别构建,在发布目录中组装产物,由 ASP.NET Core 托管独立的 SPA 目录,并正确处理 API、静态资源和前端路由的边界。
记录一次 Docker PostgreSQL 15 升级到 18 的真实排障过程:从 pgAdmin 4 还原报错、PGDATA 挂载错误和空库误判,到使用 pg_upgrade 升级副本并核对完整实例;也重新审视 PostgreSQL 工具生态与快速开发中的数据库选型。