写点什么

为什么 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:401931
用户头像

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

关注

评论

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

腾讯高工终于把操作系统、TCP/IP、线程与进程、CPU全部讲明白了

Java 架构 面试 操作系统 计算机

高扩展的系统通常会有什么特性

卢卡多多

系统、 9月日更

推荐一款 Python 微服务框架 - Nameko

星安果

Python 微服务 Nameko

2B 销售系统设计需要考虑的 3 个层面

boshi

团队管理 销售管理

密码学系列之:1Password的加密基础PBKDF2

程序那些事

算法 加密解密 密码学 程序那些事

自研ISP芯片背后:手机厂商的目光在影像之外

脑极体

回帖抽大奖——5分钟极速体验AI技术能力

百度大脑

人工智能

MLOps生产中的机器学习:为什么你应该关心数据和概念漂移 易筋 ARTS 打卡 Week 67

John(易筋)

ARTS 打卡计划

我仅用了3个月就成功破茧成蝶!从简历被拒到收割8个大厂offer的辛酸历程!

编程 Java、 计算机

如何做到监控告警的管理?

睿象云

运维 告警 监控告警 运维平台 告警管理

p3c 插件,是怎么检查出你那屎山的代码?

小傅哥

小傅哥 代码规范 p3m pmd 开发手册

靠着狂刷这份面试题跟答案!我从 15K 变成了 30K!

Java 编程 程序员

内卷把同事逼成了“扫地僧”,把 Github 上所有面试题都整理了一遍~足足 24W 字!

Java 程序员 面试

linux之秘钥登录

入门小站

Linux

在线985,211高校查询

入门小站

工具

数据安全与隐私系列08:大数据与电影《少数派报告》

Databri_AI

人工智能

[微服务] You built it.You fix it.

baiyutang

微服务 9月日更

Linux之常见的存储架构

在即

9月日更

天壤完成新一轮战略融资 加速构建数字化转型通用智能平台

InfoQ 天津

什么是低代码自动化以及它如何使你受益?

低代码小观

程序员 自动化 工具 低代码 低代码开发平台

内部群炸了!字节同事写了一篇Leetc刷题心得,高管看见之后,直接给他涨了20K

算法 算法题

字节内部不传之秘:1298页算法刷题笔记(附源码可直接运行)

Java 程序员 面试

吃串串,数签签,这个AI神器一秒搞定

百度大脑

人工智能 EasyDL

低代码平台的功能及其用处

低代码小观

程序员 低代码 开发工具 低代码开发平台 无代码

网络攻防学习笔记 Day149

穿过生命散发芬芳

9月日更 网络管理

Redis核心原理与实践--散列类型与字典结构实现原理

binecy

数据结构 源码阅读 Redis 6.0

JavaScript “上层”语言

Augus

JavaScript 9月日更

带你读论文丨基于视觉匹配的自适应文本识别

华为云开发者联盟

损失函数 视觉 文本识别 文档识别 视觉匹配

一文带你了解经典的Java垃圾回收机制

华为云开发者联盟

Java JVM 对象 垃圾回收机制 垃圾收集器

考试试卷存储设计

guangbao

大厂面试喜欢考算法,该怎么破?

博文视点Broadview

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