VP导航 VP导航
首页 提交网址

资讯文章 资讯 · NEWS

装进容器之后,目录站多出来的那几个坑

2026-10-24 约 1,392 字 预计阅读 3 分钟 yiyunkj

装进容器之后,目录站多出来的那几个坑 装

容器化的好处不用多说,麻烦在于它把一批原本由系统托管的责任交给了你自己:日志谁切、时间谁定、进程死了谁拉起来。

下面这几条不是最佳实践清单,是几个"跑三个月才发作"的坑。

容器化之后目录站的时区、日志、健康检查清单

图片来源:网络,版权归原作者所有,侵权请联系删除

镜像:两阶段构建加非 root

一个目录站的 Node 或 Go 应用,把编译工具链留在生产镜像里,体积能差十倍。两阶段构建的做法是第一阶段用完整镜像编译,第二阶段只把产物和运行时依赖复制过去,基础镜像换成 slim 或 alpine 版本。

顺带三条:.dockerignore 必须写,否则 .git、node_modules、本地日志会进构建上下文,.env 更是可能被打进某一层;镜像标签别用 latest,用语义版本或提交哈希,否则"上次发的到底是哪个版本"这个问题迟早会问;最后加一行 USER 指定非 root 用户,容器逃逸的时候差别很大。

启动命令用 exec 形式(CMD ["node", "server.js"])而不是 shell 形式,这样应用能直接收到 SIGTERM,优雅退出才能生效。

时区:容器默认是 UTC

这是中文站最容易忽略的一条。容器里的系统时间通常是 UTC,而你的业务时间、定时任务、日志时间戳都按东八区理解,于是"每天凌晨两点重建索引"变成了上午十点。

三种改法:在 Dockerfile 里装 tzdata 并设 ENV TZ=Asia/Shanghai;或者把宿主机的 /etc/localtime 和 /etc/timezone 挂进去;也可以在编排文件里直接给环境变量。选一种并在全站统一,别有的容器改有的不改。

更稳的做法是存储层一律存 UTC,只在展示层转,这样容器时区配错了也不会污染数据。

日志:默认驱动会一直写

Docker 默认的 json-file 日志驱动没有上限,容器跑几个月,日志文件能把磁盘占满。目录站里跑着定时任务和队列 worker 的容器尤其容易中招。

两行配置解决:max-size=10m 加 max-file=3,写在服务的 logging 配置里,或者统一写到 /etc/docker/daemon.json 做全局默认。重要的容器再把日志接到能检索的地方,本地只留短期副本。

健康检查:进程活着不等于在服务

这条是容器化之后最反直觉的一点。Docker 只在主进程退出时重启容器,如果应用死锁了——进程还在,但已经不响应请求——容器状态依然是健康的,什么都不会发生。

所以要写 HEALTHCHECK:间隔 30 秒、超时 3 到 10 秒、给一个 30 到 40 秒的启动宽限期、连续失败 3 次判定不健康。健康检查的端点要走真实的内部路径,别只返回一个固定字符串。再配上 restart: unless-stopped,凌晨挂掉的容器能在你被叫醒之前自己回来。

资源、端口和只读根

不给限制的容器会一直吃内存,直到宿主的内核 OOM killer 出手,而它杀谁不由你决定。给每个服务设内存和 CPU 上限,按观测到的峰值再加一半余量。

端口只绑到 127.0.0.1,让反向代理去面对外网,容器本身不直接暴露。文件系统能用只读就只读,需要写的地方挂 tmpfs:访问日志、会话、临时目录,这些都是可再生的。

上传目录和数据库这类必须持久化的,用命名卷,不要写进容器的可写层——容器一删就没了。

容器化没有减少要做的事,只是把"这台机器怎么配"换成了"这个镜像怎么描述"。写进 Dockerfile 的每一条,都是原来那份没人维护的部署文档的替代品。

本文标签 容器化部署 Docker生产配置 目录站运维清单
← 上一篇 收录的站点改了名、换了域名:目录站的条目变更检测怎么 下一篇 → 中国日报网

— 本文完 —

提交网址

发现好站,欢迎自荐收录

站内搜索

站点统计

  • 今日审核0
  • 已收录站点3744
  • 正常访问3738
  • 失联站点6
  • 累计访问175

网站分类

  • AI工具 0
    AI对话0 AI绘画0 AI写作0 AI编程0 AI音视频0 AI办公效率0
  • 开发编程 0
    前端开发0 后端开发0 移动开发0 开源与代码托管0 数据库0 开发文档与教程0
  • 设计素材 0
    UI设计0 图标素材0 免费图库0 字体下载0 配色工具0 设计模板0
  • 站长工具 0
    网站统计0 SEO工具0 域名与主机0 收录提交0 建站程序0 运维监控0
  • 学习教育 0
    编程教程0 语言学习0 职业技能0 公开课与慕课0 考试题库0 中小学教育0
  • 生活服务 0
    交通出行0 外卖点餐0 房产租房0 医疗健康0 政务办事0 快递物流0
  • 影音娱乐 0
    影视观看0 音乐音频0 游戏资源0 短视频直播0 小说阅读0
  • 电商购物 0
    综合商城0 比价工具0 导购返利0 二手交易0 团购优惠0
  • 综合其他 1
    实用工具0 资源合集0 小众站点0 个人博客0 论坛社区0
  • 新闻资讯 0
    科技资讯8 财经媒体1 行业动态0 社会热点0 综合门户0
  • 资讯文章 380

最新收录

  • rel=next/prev 早就不是
  • 服务器那层一直没人管:目录站的 SS
  • 把条目状态推给对方:目录站的 Web
  • 中国日报网
  • 装进容器之后,目录站多出来的那几个坑
  • 收录的站点改了名、换了域名:目录站的
  • 去抓对方网站的时候,那个超时到底该设
  • 收录了阿拉伯语站点之后:目录站的 R

浏览排行

  1. 满分作文网 6
  2. Let's Enhance 3
  3. 淘菜菜 3
  4. MasterClass 3
  5. TypeScript 中文网 3
  6. Zhengziying 3
  7. 得意生活 3
  8. 镇江网友之家 3

联系我们

bQ:12345678

电话:400-8888-888

邮箱:admin@example.com

时间:09:00-21:00

友情链接

车机屋·焊锡条·探兔AI导航·静电测试仪·大学生联盟

关于我们|广告合作|隐私条款|网站地图

原ICP备00000000号-1,@2026

由 Z-BlogPHP 驱动