写点什么

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

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

关注

评论

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

深度好文:MySQL体系结构

伤感汤姆布利柏

QCA9882: The powerful engine of wireless LAN

wallysSK

如果公司业务需要频繁更换IP地址,应该如何处理?

Finovy Cloud

云计算 网络安全 IP IP地址 高防IP

【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(Dockerfile使用手册)

码界西柚

Docker 容器 后端 2024年第十二篇文章

六个案例搞懂间隙锁

Java随想录

Java MySQL

Prompt Engineering 可能会是 2024 年最热门的“编程语言”?

Baihai IDP

AI ChatGPT LLM 白海科技 Prompt Engineering

融云荣获艾媒咨询「2023 年中国新经济卓越成就奖」

融云 RongCloud

左耳听风 - 程序员修炼之道「读书打卡 day 07」

Java 工程师蔡姬

读书笔记 程序员 个人成长 职业发展

极狐GitLab 线下『 DevOps专家训练营』成都站开班在即

极狐GitLab

想提高阅读代码的效率?试试这些工具吧!| 京东云技术团队

京东科技开发者

让AI看见——Azure OpenAI GPT-4 Turbo with Vision体验

Bruce Talk

AI Azure OpenAI GPT-4 Vision

精选LED舞台租赁屏的七项关键要素

Dylan

产品 艺术 LED LED显示屏

如何优化k8s中HPA的弹性速率

华为云开发者联盟

k8s 开发 华为云 华为云开发者联盟

Java Chassis 3技术解密:注册中心分区隔离

华为云PaaS服务小智

云计算 华为云

什么是二维码?带你快速了解二维码的原理

草料二维码

二维码 草料二维码 二维码生成器

淘宝拍立淘图片搜索接口:轻松找到同款商品!

tbapi

淘宝图片搜索接口 淘宝拍立淘接口 淘宝图片搜索API

字符串操作-逗号分割字符串转树形结构

alexgaoyh

自然语言处理 数据结构 字符串 数据预处理 树形

公司想做一套数字化管理系统,该怎么做?

天津汇柏科技有限公司

数字化管理

携获奖产品Crystal参加CES2024,高端头显品牌小派科技体验震撼全场

极客天地

浅谈新一代账务系统的高可用演进思路

鲸品堂

运营商 计费模式 方案设计

每日一题:LeetCode-560. 和为 K 的子数组

Geek_4z9ami

Go 面试 算法 LeetCode 前缀和

专业VJ软件Resolume Arena mac破解版 Resolume Arena 6 配置要求

Rose

MagicOS 8.0,焕新升级。

荣耀开发者服务平台

AI 智能化 智慧生活 honor 交互模式

融云 CEO 董晗入选「2023 福布斯中国 · 出海全球化人物 TOP30」

融云 RongCloud

智算让大模型触手可及

百度Geek说

人工智能 Prompt

华为联合伙伴发布《云端控制平台与物流自动导引车通用接口指南》

华为云开发者联盟

后端 物联网 机器人 华为云 华为云开发者联盟

设备组件文件转换为EVE-NG环境的支持组件

小齐写代码

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