Aar*_*hen 15 containers docker
我通过阅读一些博客和介绍材料开始使用docker.
我的理解是docker可以将单个应用程序包装到标准化容器中.容器提供了一个沙箱,应用程序需要运行的所有必要资源,并且内部的应用程序始终存在于该容器中.这意味着我可以将容器运送到任何地方(不同类型的操作系统甚至云平台),它仍然可以正常运行.
如果我的理解是正确的,那么这是否意味着微软可以将他们的办公室套装包装到一个容器中,我可以在mac os或linux上安装和运行它?而其他一些不错的Mac应用程序也可以发送到windows和linux?
Cha*_*ffy 13
Docker是LXC之上的用户友好层,它是一组Linux内核功能,允许文件系统配置,网络资源,进程表和其他历史上全局的内核调解资源的命名空间.(它比FreeBSD jails更接近于kvm或VMware).
这些功能非常特定于Linux,并且在Docker容器中运行的应用程序仍然直接与主机的Linux内核连接(尽管它只能访问暴露给它所参与的命名空间的资源子集).类似地,操作码直接在硬件上运行,没有虚拟化仿真,因此硬件差异也不会被抽象出来
因此,Docker 不是跨操作系统(或跨架构)可移植层,并且它不会成功地隐藏依赖于特定内核版本的应用程序的实现细节,更不用说完全不同的操作系统.
Docker现在可以在Mac上运行,通过在Linux上捆绑一个非常类似于kvm的轻量级虚拟化堆栈.当以这种方式运行时,它实际上同时进行虚拟化和容器化 - 前者运行(单个)Linux内核,后者在该内核中运行一系列单独的容器.
这仍然意味着它仅限于运行本机Linux应用程序,并且它仍然不提供桌面应用程序的显示层(X11,VNC或其他需要另外使用的其他内容).但是,通过捆绑虚拟化工具,现代Docker现在是一种可移植性解决方案(跨平台,而不是架构).