Anduin Xue
Anduin Xue

Anduin's Tech Blog

Docker Swarm


Run docker container with GPU in Docker swarm

本文探讨了在Docker Swarm环境中启用GPU支持的创新方法与潜在挑战。作者通过对比传统docker-compose配置与Swarm模式的限制揭示了一个关键矛盾:Swarm不支持在资源预留中直接声明GPU设备这一设计缺陷迫使开发者寻找替代方案。文章核心贡献在于提出了一种基于嵌套容器的解决方案通过创建可附着的overlay网络将GPU容器与Swarm管理的容器解耦实现跨节点的GPU资源共享。这种方法巧妙利用了docker-in-docker架构在宿主机上启动独立GPU容器的同时确保其他服务可通过自定义网络与其通信。这种架构突破了传统资源分配的桎梏但同时引发新的思考:当容器嵌套层级增加时性能损耗是否可被接受?这种间接访问方式是否会影响系统的可观测性?更重要的是这种工作模式是否暗示了云原生硬件资源调度的新范式?文章通过成功运行Ollama模型的案例证明了方案的可行性但留下的疑问更值得深思:当我们在追求资源隔离与共享的平衡时是否正在重新定义容器化的边界?--Qwen3

Docker Swarm GPU Resource Management Ollama DeepSeek Model Docker Networking Resource Allocation

基于 Docker Swarm Mode 建设你家里的数据中心!

文章介绍了使用Docker Swarm部署集群并结合Swarmpit管理工具的实践流程。核心步骤包括通过GlusterFS构建分布式存储、利用docker-compose.yml文件定义业务栈、通过Swarmpit可视化界面管理服务节点和资源分配。关键概念体系由Stack(服务集合)、Service(容器化服务定义)、Task(实际容器实例)、Node(物理/虚拟节点)构成。业务部署需编写版本3.3规范的编排文件,通过docker stack deploy命令实现集群化部署。存储方案采用GlusterFS实现跨节点数据同步,需在各节点配置存储卷并设置访问权限。运维方面包含节点状态管理(上线/下线维护)、容器调试入口获取、日志追踪等操作。通过暴露80/443端口结合Caddy等反向代理可实现HTTPS服务,而共享存储的自动化挂载则通过systemd服务确保节点重启后自动恢复可用状态。--Qwen3

bash Linux Server Docker Container Docker Swarm Cluster Swarmpit

  • 1