[科技杂谈]科技心得杂谈
未读
一次“简单”的部署:为 Venera Sub Web UI 踩过的那些坑
作者给漫画阅读器 Venera 写了一个自动监控更新并用邮件提醒的 Web 应用,代码仅用四五小时完成,却在部署时连环踩坑:先用 /tmp 做内存加速被忽视;服务器 Glibc 过老且缺少 GTK3、WebKitGTK,于是改用 Ubuntu 24.04 的 Docker;接着发现 Flutter Linux 可执行即使 headless 也需 X11,被迫引入 Xvfb,镜像膨胀到 1.1 G;最后因 Venera 在 ~/.cache 与 ~/.config 间用 rename 移动配置文件,而 Docker 将两者挂到不同卷导致跨挂载点失败,只能把整 /root 目录挂到同一持久卷才解决。文章强调“写代码简单,部署运维才是隐形主战场”。
记录在LXC容器内配置docker和1panel面板
用户为了在家庭NAS上搜索并管理老照片,决定用Immich建一个私图库,并选了“特权LXC + 1Panel + Docker”这套组合。过程中踩了四个坑:最初普通LXC不能挂SMB,重建特权LXC后又连不上终端;配置/etc/fstab后SMB搞定;装1Panel、加第三方应用源后能在商店找到Immich;点安装却遇到Docker容器起不来且日志为空,最后在宿主机上改LXC配置(lxc.cgroup2.devices.allow: a 并把 lxc.cap.drop 置空)重启容器后才一切正常。经验是在特权LXC里跑Docker记得补这两条参数。
记录一次docker环境下的内存溢出杀进程
PVE 宿主机的 OOM killer 在 Proxmox→LXC→Docker 多层嵌套情况下仍直接查杀 Java 进程,原因是给 Minecraft 设置的 12 G 和 Docker 限制 12.2 G 余量太小,当 JVM 和额外开销超限时即被宿主认定为最高内存占用者而强制结束。增大 Docker 内存限制到 14 G 后问题消失。排查关键是用宿主机命令 dmesg|grep -i kill 而非容器内命令查看 OOM 日志,同时应警惕 swap 早启用提示内存紧张的信号。