标签: 容器化

16 个内容

笔记(15)

本文深度解析Docker `--build-arg`(配合`ARG`)用于构建时变量注入,支持多环境镜像构建。多阶段构建需跨阶段重新声明ARG。主要方案:声明ARG、命令行注入;避坑用`--secret`传敏感信息、`ENV`持久运行时变量。

Elliot Yang·
20 浏览

Hono作为极简Web框架,其优雅停机依赖Runtime(如Node.js、Bun)。**关键问题**:Runtime差异及异步任务卡死。**方案**:Node.js用@hono/node-server的server.close()监听SIGTERM;Bun用server.stop();追踪activeRequests轮询等待任务完成。Serverless环境无需处理。

Elliot Yang·
48 浏览

**Node.js 优雅停机实现**:监听 SIGTERM/SIGINT 信号,关闭服务器停止新请求,清理数据库/定时器等资源,设置 30s 硬超时强制退出。解决直接 kill/OOM 导致数据不一致问题,提供 Express+Mongoose 代码模板,支持消息队列、容器化环境。

Elliot Yang·
37 浏览

本文介绍了在 Windows 下使用 Docker Desktop 启用 CUDA 的完整方案。关键在于 WSL2、支持 WSL CUDA 的 NVIDIA 驱动、NVIDIA Container Toolkit 和 Docker Desktop WSL backend。文章提供了详细的安装配置步骤和常见问题排查,确保 GPU 在 Docker 容器中稳定可用。

Elliot Yang·
374 浏览

Docker Compose可通过`profiles`配置控制服务是否默认启动。在Compose v3.9+中,未指定profile的服务默认启动,指定profile的服务需通过`docker compose --profile <profile_name> up` 显式启动。该方法可以灵活控制compose文件中部分服务的启动与停止。

Elliot Yang·
59 浏览

Nginx upstream 配置中 `server bar:3000 resolve;` 指令用于动态 DNS 解析,解决后端服务 IP 动态变化的问题,尤其适用于云原生和容器环境。Nginx 会定期解析主机名获取最新 IP 地址。需配合 `resolver` 指令指定 DNS 服务器,且仅对主机名有效,版本需高于1.11.3。

Elliot Yang·
179 浏览

Docker Compose文件中定义多服务时,选择性启动是常见需求。本文介绍了四种方法:直接指定服务名、使用profiles分组、override文件或环境变量修改启动行为、以及过滤服务名启动。推荐使用profiles进行分组管理。

Elliot Yang·
245 浏览

本文介绍了如何利用 Grafana Loki 和 Promtail 集中管理 Docker Compose 日志。核心问题是如何将 Docker 容器日志集成到 Grafana 中进行可视化。解决方案是使用 Promtail 收集 Docker 日志并推送到 Loki,再通过 Grafana 展示。关键步骤包括配置 Docker Compose 文件、Loki、Promtail,以及 Grafana 数据源。

Elliot Yang·
287 浏览

自托管 GitHub Actions 运行器默认不允许 `sudo` 运行以提高安全性。解决方案包括:创建普通用户运行运行器;设置 `RUNNER_ALLOW_RUNASROOT` 环境变量(不推荐);配置运行器用户 `sudo` 权限以在工作流中使用 `sudo`。Docker 权限问题可通过将用户加入 `docker` 组解决。

Elliot Yang·
185 浏览

本文深入探讨了系统工程师常用运维工具,涵盖 DNS 解析、Docker 容器化、网络诊断、存储管理、日志分析和身份管理。强调理解底层机制,并介绍了 eBPF、containerd 等前沿技术,助力问题解决和技术提升。

Elliot Yang·
106 浏览

本文深入探讨PostgreSQL容器化升级、JSON处理、查询优化、权限管理及问题排查。升级采用逻辑备份恢复,强调兼容性。JSONB性能优于JSON。索引优化提升查询效率。新特性如JSON_TABLE增强功能。向量化引擎、分布式方案及机器学习集成是未来趋势。

Elliot Yang·
158 浏览

本文深入探讨了前端开发中的硬件信息获取(navigator.hardwareConcurrency)、文件输入控制、JSON序列化、包管理、容器Shell选择及现代下载工具链。强调指纹防御、WASM预处理及OSS供应链审计,并展望WebGPU、WASM包管理及AI驱动的依赖修复,建议技术选型需平衡性能、安全与成本。

Elliot Yang·
95 浏览

本文深入解析 GitHub Actions 高阶技巧与工程实践,涵盖条件触发、权限控制、Shell 执行、无头环境、环境变量管理及安全风险。探讨了文件变更检测、权限分级、错误处理、Xvfb 集成、跨步骤传值等关键技术,并展望了组件化、WASM 化及 AI 辅助调试的未来趋势。

Elliot Yang·
162 浏览

深入探讨 Docker 镜像探查、多阶段构建、权限管理和构建参数等核心技术。涵盖静态分析镜像结构、BuildKit 缓存优化、UID/GID 映射、Linux 能力控制,以及 Docker Compose 的云原生演进,助力生产级实践。

Elliot Yang·
101 浏览

本文档总结了 Docker 常用操作。介绍了查看镜像文件内容、保持容器运行、多阶段构建优化镜像大小、Dockerfile条件判断、GitHub Actions集成、解决JavaScript内存溢出、区分ENV和ARG、安装docker-compose、容器中获取宿主机IP以及docker exec指定用户等技巧,提升Docker使用效率。

Elliot Yang·
93 浏览

动态(1)

E
Elliot Yang
公开

我终于知道为什么那么慢了,原来我一直以来在 x86 上模拟 ARM 怪不得那么慢

# Set up QEMU for ARM support - name: Set up QEMU uses: docker/setup-qemu-action@v3 with: platforms: arm64
浏览:173点赞:0