2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

SpringBoot+Redis基本操作,实现排行榜功能(1),springmvc教程下载

Java 程序员 后端

最佳实践|放弃 Ceph,Salesforce 使用 Apache BookKeeper 在云中实现最强存储

Apache Pulsar

开源 云原生 存储系统 Apache Pulsar 消息系统 Apache BookKeeper

SpringBoot整合MybatisPlus实战动态SQL,java编程入门经典

Java 程序员 后端

SpringBoot整合Shiro(完整版)(1),java企业级应用教程视频

Java 程序员 后端

【文末送票福利】龙智携手Atlassian,与您相约GOPS全球运维大会

龙智—DevSecOps解决方案

DevOps 运维

Windows/Mac 安装、使用Python环境+jupyter notebook

老表

python入门 11月日更 Python自动化 运营学Python

Springboot快速整合JPA实现增删查改(1),java教程视频下载

Java 程序员 后端

Springboot快速整合JPA实现增删查改,linux系统架构和应用技巧

Java 程序员 后端

SpringBoot整合Shiro实现权限管理,rabbitmq原理图

Java 程序员 后端

springboot入门教程和mysql数据库,java框架面试基础

Java 程序员 后端

springboot整合thymeleaf及常用标签的使用方法,美的java面试流程

Java 程序员 后端

SpringBoot系列:Spring Boot集成redis,mongodb原理书籍推荐

Java 程序员 后端

springBoot集成Mybatis,Java资料下载

Java 程序员 后端

SpringBoot+Redis基本操作,实现排行榜功能,javasql优化面试题

Java 程序员 后端

SpringBoot2----拦截器和文件上传功能,源码+原理+手写框架

Java 程序员 后端

springboot多数据源配合docker部署mysql主从实现读写分离

Java 程序员 后端

SpringBoot:Shiro-整合-Redis,也不用担心用户投诉啦,java技术经理面试题

Java 程序员 后端

Vue进阶(幺柒叁):表单元素日期校验

No Silver Bullet

Vue 表单校验 11月日更

springboot中如何使用拦截器,Javaweb资料视频

Java 程序员 后端

dart系列之:dart语言中的特殊操作符

程序那些事

flutter dart 程序那些事 11月日更

六问六答理解ForkJoin原理

华为云开发者联盟

Java 线程 线程池 forkjoin 归并计算

Springboot整合Mybatis增删查改、连接MYSQL数据库及配置druid连接池

Java 程序员 后端

SpringBoot整合Shiro(完整版),java学习网站

Java 程序员 后端

SpringBoot2----数据访问,实战java虚拟机百度云

Java 程序员 后端

SpringBoot整合Thymeleaf模板,java技术核心卷二

Java 程序员 后端

SpringBoot2----Web模块的基本注解,美的java面试题

Java 程序员 后端

SpringBoot使用Aop自定义注解展示日志信息,mysqlsql性能调优的方法

Java 程序员 后端

SpringBoot实战教程(3,mysql集群和主从原理

Java 程序员 后端

Springboot整合ActiveMQ(Queue和Topic两种模式),Java开发者跳槽指

Java 程序员 后端

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