写点什么

为什么 Sandstorm 不能运行 Docker 应用

  • 2014-08-21
  • 本文字数:963 字

    阅读完需:约 3 分钟

Sandstorm 是由前谷歌工程师 Kenton Varda 开发的一个开源的个人云平台项目,Sandstorm 允许开发者在自己的服务器上通过一个类似 App Store 的界面来安装自己的应用。它的目标是帮助用户快速简单的在自己的服务器上安装并运行 Web 应用。近日,Kenton 发表了一篇名为《为什么 Sandstorm 不能运行 Docker 应用》的文章。

文章首先指出,虽然 Sandstorm 和 Docker 的底层技术都是一样的(都是基于相同的 Linux 内核特性),但它们是两个完全不同的平台。关于 Standstorm 为什么不能运行 Docker 应用的问题就像为什么 Android 不能运行 Linux 桌面应用的问题一样,它们本身的出发点就不一样。Docker 是设计用来在容器内安装并运行现有的服务器软件包,站在应用的角度来看,Docker 其实就是 Linux;站在用户的角度来看,Docker 更像是传统的虚拟机,只不过它性能更好。而 Sandstorm 做的事情完全不一样,Sandstorm 的目标用户并不是开发人员或者管理员,他们可能不知道如何使用数据库或者命令行,Standstorm 支持的应用有以下几个特点:

  1. 每个应用都必须有用户界面,用户可以在界面中完成所有的配置选项。
  2. 应用必须能够独立安装并管理数据库。
  3. 应用需要和 Sandstorm 统一的登录系统相集成。
  4. 用户不需要为不同的应用管理不同的共享模式,Sandstorm 支持细粒度的容器,以保证每一个文件都可以在一个单独的容器中。
  5. 授权操作需要通过一种用户可以理解的方式来展现。
  6. 可以一键或者自动完成应用的更新。
  7. 用户会不时地安装恶意程序,Sandstorm 需要保证系统的安全。

文章接着解释了为什么 Standstorm 不直接使用 Docker 而是自己开发容器。其实 Sandstorm 使用了很多和 Docker 相同的技术,比如 namespaces、cgroups。但是当涉及到用户空间的工具时,Standstorm 发现他们并不需要 Docker,Docker 工具被设计用来运行 Linux 软件,而 Sandstorm 上的应用必须为 Sandstorm 环境量身定制,所以 Standstorm 需要提供尽可能少的配置以保证核心系统简单。设置一个 Sandstorm sandbox,基于 Linux 系统的一些函数,可能只需要几百行的代码,但是如果使用 Docker,取而代之的是几百行的配置,并且增加了额外的依赖以及维护,另外 Docker 的也不能满足 Sandstorm 的一些个性需求。

文章最后也表示 Docker 很强大,Sandstorm 在开发中也使用了 Docker,他们很希望看到 Docker 能替代传统的 IaaS 解决方案。

2014-08-21 00:401870
用户头像

发布了 219 篇内容, 共 141.8 次阅读, 收获喜欢 193 次。

关注

评论

发布
暂无评论
发现更多内容

微服务架构设计模式PDF

程序员李木子

《Java解惑》PDF

程序员李木子

求求你别用轮询了!手把手教你封装WebSocket消息推送,告别轮询方式!

陇锦

JavaScript 前端 websocket

鸿蒙生态进入第二阶段,加速千行百业应用鸿蒙化

华为云开发者联盟

华为 鸿蒙 开发者 华为云开发者联盟

IPQ4019: A powerful boost in the field of wireless communications

wallysSK

文心一言 VS 讯飞星火 VS chatgpt (182)-- 算法导论13.4 6题

福大大架构师每日一题

福大大架构师每日一题

图像处理-Java-去噪/高斯模糊/套红

alexgaoyh

Java 图像处理 去噪 高斯模糊 套红

Java核心技术·卷I(原书第12版)PDF

程序员李木子

90%企业在探索的敏捷开发怎么做?极狐GitLab总结了这些逻辑与流程

极狐GitLab

【年后跳槽必看篇】Kafka核心知识点 技术探秘第一章

派大星

Java 面试 kaffa

为什么在数学的意义上GraphQL严格的优于REST?

canonical

DDD 低代码 graphql

数字化企业与传统企业有何区别?

天津汇柏科技有限公司

企业数字化

MySQL Update语句一个非常经典的“坑”

伤感汤姆布利柏

图像处理-Java-背景色平滑/反色

alexgaoyh

Java 图像处理 背景色平滑 反色

左耳听风 - 优质代码「读书打卡 day 11」

Java 工程师蔡姬

读书笔记 程序员 个人成长 职业发展 优质代码

《On Java 中文版 基础卷》PDF

程序员李木子

NineData云原生智能数据管理平台架构

NineData

postgresql 阿里云 生态 polarDB NineData

快速玩转 Mixtral 8x7B MOE大模型!阿里云机器学习 PAI 推出最佳实践

阿里云大数据AI技术

HarmonyOS SDK,助力开发者打造焕然一新的鸿蒙原生应用

HarmonyOS开发者

HarmonyOS

彰显科技硬实力!天翼云在国际顶刊JoCCASA发表论文

编程猫

拒绝上市公司Offer,选择自己喜爱的行业,从容不迫他凭什么?

测试人

软件测试 测试 自动化测试 测试开发 测试工程师

《On Java 中文版 进阶卷》PDF

程序员李木子

Flyway 的主要命令及其作用如下:

虚实的星空

Java语言程序设计(基础篇 原书第10版)PDF

程序员李木子

论文翻译 | 【深入挖掘Java技术】「底层原理专题」深入分析一下并发编程之父Doug Lea的纽约州立大学的ForkJoin框架的本质和原理

洛神灬殇

Java 并发编程 后端技术 2024年第十五篇文章 Doug Lea

业财融合,释放财务更多潜力

智达方通

战略规划 企业战略 业财融合 财务与业务 预算控制

开发者 | Mint Blockchain 重点支持发展的 15 个细分赛道项目

NFT Research

blockchain web3 NFT\

为什么Sandstorm不能运行Docker应用_DevOps & 平台工程_小盖_InfoQ精选文章