展开讨论

经验与复盘经验摘录 · 机器翻译

我使用了cgroups、lxc、chroots、自解压可执行文件

我使用了cgroups、lxc、chroots和自解压可执行文件。在Docker出现之前,我就为联合国儿童基金会的笔记本电脑和难民营构建了坚固且便携的应用程序。我认为关于“虚拟化”、“安全性”、充分利用硬件、降低成本等方面的论点,虽然正确,但是一种针对技术主管和安全主管的“企业宣传”。这些只是附带的好处,我一点都不在意。对于在单台服务器上运行单个应用的独立开发者来说,容器有真正根本性的优势。为什么?我的应用需要2或3个其他文件夹来写入或读取文件,可能还需要2或3个其他运行时可执行文件(jvm、node、convert,想想几十个开源CLI工具,而不是编译时的库),可能还需要apt-get安装或下载一些其他依赖。现在,作为独立开发者,我可以从shell脚本中“mkdir”几个文件。但这个“mkdir”第一次会成功。第二次就会失败,提示“目录已存在”。我可以“apt-get install”一些东西,但升级和版本控制则是另一回事了。…

源讨论为什么会出现容器?原帖 280 条评论 · 导入时统计
5

这条内容在回应什么?

父级讨论 · 节选

TO

https://www.youtube.com/watch?v=eMU2mZgo99c

完整原文

社区评论 0

还没有社区评论,来聊聊你的看法。

原讨论中的回复 5

仅展示本次导入中包含的直接回复。中文为机器翻译,可查看英文原文。

AL

在软件方面,状态而不是金钱才是万恶之源。任何我可以做的来限制状态变化的事情都是值得的,可以防止错误。容器在这方面非常有用,尤其是如果你曾经不得不处理那些通过SSH(或者更常见的是,RDP)登录到单个应用服务器并手动更新应用程序的“系统管理员”,而不是使用正确的自动化手段。

完整原文
HE

> 容器大大减少了状态管理。 如果你使用 Podman 在没有 root 权限的情况下构建/运行容器,你就可以减少状态管理并避免不必要的权限提升。

完整原文
BU

多年前,我正是通过这种方式让我的同事对容器产生兴趣的。我从未推动过对生产环境现有做法的任何改变。我只是开始在自己的工作站上使用容器来管理开发和测试的运行时环境。然后我的同事开始看到我花在这件事上的时间比我们通常用 VM 管理运行时环境的方式少得多。很快,人们开始请我帮忙设置同样的方式,最终我们也将 CI 流水线容器化了。但我们从未改变生产环境的运作方式,因为运维团队对他们的 VM + Ansible 设置非常满意,而且没有人有足够充分的理由去改变它,除了“啊啊啊容器真棒”。 不过现在,我觉得容器在开发中的优势已经被 Devcontainers 的采用所抵消了。…

完整原文
NO

> 我可以随时执行 "apt-get install"。 但我认为你无法可靠地修复特定版本的包,这意味着事情仍然会像以前一样出问题。

完整原文
TR

可能是因为一个应用在一个服务器上很少会一直保持为一个应用。虽然整体环境有所改善,我认为在 Linux 上比在 Windows 上更好……但没有什么比在 Windows 服务器上同时安装和运行几个 .Net 和 Java 应用程序更糟糕的了,这些应用需要多个框架版本,更不用说更复杂的依赖关系了。 Docker for Windows 容器本身就是一个令人沮丧的糟糕体验,仅仅是因为它自己的依赖问题,我从一开始就认为这是个坏主意,而且它稀释了 Docker for Linux。 Docker/容器和 Compose 非常好用,假设你的应用程序有数据库、缓存等依赖。更不用说将 TLS 证书的设置和终止与应用服务器分开,或者扩展到更大的编排选项等等………

完整原文
在 Hacker News 阅读

尊重不同观点,分享具体经验。

登录后即可发帖、评论、转发和引用。