写点什么

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

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

关注

评论

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

Redis - redis.conf - 中文翻译

大海

redis 缓存 翻译

架构师训练营第四周课后作业

Gosling

极客大学架构师训练营

架构师训练营第四周课后练习

薛凯

架构师训练营第一周总结

薛凯

来点不一样的: 精选200个Java技术面试真题,详解应聘Java程序员常见考点,在Github上标星89.6K

996小迁

编程 程序员 架构 面试

十三、深入Python字典和集合

刘润森

Python

架构师训练营第三周课后练习

薛凯

第四周 系统架构作业

蓝黑

极客大学架构师训练营

SpringBoot整合Jpa项目(含Jpa 原生sql语句介绍)

小Q

Java 架构 微服务 springboot jpa

iOS底层原理之—dyld与objc的关联

iOSer

ios ios开发 iOS Developer dyld objc

第四周作业

icydolphin

极客大学架构师训练营

架构师训练营第三周总结

薛凯

LeetCode题解:22. 括号生成,递归先生成再过滤,JavaScript,详细注释

Lee Chen

大前端 LeetCode

COSCon'20 & Apache Roadshow 来了,数据技术专场欢迎您

代立冬

学习笔记丨数据结构与算法之贪心算法

Liuchengz.

贪心算法

十四、深入Python条件和循坏

刘润森

Python

每周花6小时跟清华大牛马士兵学Java:多线程高并发、JVM调优、算法、设计模式等

Java架构之路

Java 程序员 面试 算法 编程语言

Go 语言内存管理三部曲(二)解密栈内存管理

网管

堆栈 内存管理 内存布局 Go 语言

架构师训练营第四周总结

薛凯

spring-boot-route(十七)使用aop记录操作日志

Java旅途

Spring Boot aop

2020.10.05-2020.10.11 学习总结

icydolphin

极客大学架构师训练营

微服务已成Java开发的面试门槛,你连SpringCloud都不会怎么涨薪

Java架构之路

Java spring 编程 程序员 面试

[周末荐片]Undercover Billionaire

亚伦碎语

生活

阿里大牛原创技术好文精选整理:Redis+Nginx+设计模式+Spring全家桶+SQL+Dubbo

Java架构之路

Java 程序员 面试 编程语言

一文带你轻松了解Python导入模块的各种命令

计算机与AI

Python

ARTS Week13

丽子

从格力直播看品牌商的渠道变革

boshi

数字化转型 品牌 直播带货 优化业务

架构师训练营第一周课后练习

薛凯

轻量级业务中台开发框架,以DDD思想为基础,融合中台核心要素,赋能中台建设

高鹏

中台 业务中台 DDD 框架 中台架构

分布式系统中的CAP、ACID、BASE概念

编程 分布式

Java进阶架构师面试手册:核心框架篇整理,助我斩获65W架构师Offer!

Java架构追梦

Java 学习 架构 面试 框架

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