gpt4 book ai didi

docker - docker 是使应用程序跨平台的解决方案吗?

转载 作者:IT老高 更新时间:2023-10-28 12:42:39 26 4
gpt4 key购买 nike

我通过阅读一些博客和介绍 Material 开始使用 docker。

我的理解是 docker 可以将单个应用程序包装到一个标准化的容器中。该容器提供了一个沙箱,以及应用程序运行所需的所有必要资源,并且其中的应用程序始终存在于该容器中。这意味着我可以将容器运送到任何地方(不同类型的操作系统甚至云平台)并且它应该仍然可以正确运行。

如果我的理解是正确的,那么这是否意味着微软可以将他们的办公套装包装到一个容器中,我可以在 mac os 或 linux 上安装和运行它?还有其他一些不错的 Mac 应用也可以移植到 windows 和 linux 上?

最佳答案

Docker 是 LXC 之上的用户友好层,LXC 是一组 Linux 内核功能,允许对文件系统配置、网络资源、进程表和其他内核介导的资源进行命名空间,这些资源在历史上是全局的。 (与 kvm 或 VMware 相比,它更接近 FreeBSD jails)。

这些特性是 Linux 特有的,在 Docker 容器中运行的应用程序仍然直接与主机的 Linux 内核交互(尽管它只能访问暴露于它所参与的命名空间的资源子集)。同样,操作码直接在硬件上运行,没有对虚拟化进行仿真,因此也没有抽象出硬件差异

Docker 因此不是一个跨操作系统(或跨架构)的可移植层,它不会成功地隐藏依赖于特定内核版本的应用程序的实现细节,更不用说完全不同的操作系统了完全一致。


2017 年初更新

Docker 现在可以在 Mac 上运行,它捆绑了一个轻量级的虚拟化堆栈,与 Linux 上的 kvm 非常相似。当以这种方式运行时,它实际上同时进行虚拟化和容器化——前者运行(单个)Linux 内核,后者运行该内核中的一系列独立容器。

这仍然意味着它仅限于运行 native Linux 应用程序,并且它仍然不为桌面应用程序提供显示层(需要另外使用 X11、VNC 或其他类似的东西)。然而,通过捆绑虚拟化工具,现代 Docker 现在成为一种可移植性解决方案(跨平台,而不是架构)。

关于docker - docker 是使应用程序跨平台的解决方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30632386/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com