Tag: 虚拟化

Lite虚拟化进程

我试图找出(如果可能的话)如何在绝缘环境(内存,networking和其他资源)中运行用户进程。 假设程序x存储在host machine (h)的文件系统中。 我想在绝缘的hosted context (c)执行x (换句话说,不需要创build虚拟托pipe的操作系统)。 该过程将输出文件阐述为上下文c 。 然后我想用这些文件进入上下文。 我听说过LXC,docker工人,dockerlite,openvz等,但似乎必须从操作系统映像创build一个容器 。 所以,不久之后,有没有办法将x运行到c并将结果(如果有的话)转换为h ?

是否虚拟化仍与docker相关?

我读过这篇文章: Docker与普通虚拟机有什么不同? 我有巨大的意图将所有我的虚拟图像转换为docker实例。 我看不到一个angular度,在哪里仍然有意义… 那么VM现在有什么意义? 好的…也许桌面虚拟化有pulseaudio工作? 一旦docker解决这个,还有什么? 更新好吧…所以我不能在“非Linux”的青睐主机运行docker…

Docker与VM和LXC的关系

我对 Linux容器(LXC)的理解是,它提供了一个适用于Linux系统的原生虚拟机pipe理程序,类似于Windows 8中引入的Windows Hyper-V。我的意思是,Linux系统能够托pipe访客虚拟机它内部不需要安装任何一种专门的虚拟化软件。 我对 Docker的理解是它以某种方式build立在LXC之上,并允许应用程序开发人员定义: 包括操作系统,操作系统的确切configuration和调整以及安装/configuration/部署到该操作系统的任何工具或应用程序的VM /节点的确切应用程序堆栈; 和 运行此虚拟机/节点的确切资源要求,包括CPU要求,内存/磁盘/networking要求,负载平衡和复制要求等。然后,Docker使用这些声明的要求作为基准来计算运行容器的节点。 所以首先,如果我对LXC或Docker的理解是误导性的, 请首先纠正我! 假设我的理解或多或less是正确的,我会问: Docker和vmWare或Xen VM之间有什么关系? Docker是否位于虚拟化层的顶端? 换句话说,对于不同的虚拟化平台(vmWare,Xen,kvm等)是否存在“Docker绑定”,我可以将一个Docker容器用于myapp并将其部署到任何Docker-ified平台上? LXC和Docker有什么关系? Docker只是简单地扩展LXC,还是完全类似(但完全分离)的概念? 如果它的LXC的延伸,那么以什么方式?

Docker会给RAM多余的里程吗?

根据 | 到 | 无数 | Docker通过跨容器共享系统资源来提供超轻量级的虚拟化,而不是为每个容器分配这些资源的副本。 我甚至读过那些吹嘘自己可以“ 在同一个虚拟机上运行几十个,甚至几百个容器”的文章。 但是,如果我的应用程序需要2GB的RAM运行,而底层的物理机器只有8GB的内存,我通常只能运行我的应用程序的3个实例(留下~2GB的系统内存,实用程序等) 。 Docker是否会用RAM做一些神奇的事情,让我真的可以运行几十个容器,每个容器都分配了2GB的内存,但不知何故在底层共享了未使用的内存? 还是那些声明比其他任何媒体炒作都要多?

Docker maven插件

我发现的Docker插件(spotify / docker-maven-plugin)使用本地docker应用程序,但据我所知, docker只是一个REST API客户端,它将命令“redirect”到docker守护进程。 如果我在Windows机器上使用docker,docker守护进程在VirtualBox的Linux上工作,情况更是如此。 那么,是否存在任何不需要本地docker应用程序的docker-maven-plugin,而只需与docker守护进程“交谈”而不需要任何中介?

Docker与普通的OS进程有什么不同?

有一个问题Docker.io与普通的虚拟机有什么不同? ,其中的答案详细描述了Docker是多么轻量级,以及它是多么孤立。 我想了解: Docker与普通的OS进程有什么不同? 它在独立的操作系统进程上提供了什么好处?

docker与不同的内核

我想知道Docker如何在Debian主机上运行RHEL(2.6)(假设docker运行在Debian最新的内核3.x内核上)。 这个docker分层的方式是如何工作的。据我所知docker正在使用一个叫做OS级虚拟化的概念。 所以它将图层或环添加到基本图像。 但它如何与不同的内核版本一起工作? 并会在那里的任何性能下降?

Docker Java Application无法从控制台获取input

我正在尝试为我的Java应用程序创build一个泊坞窗图像。 在启动时,这个应用程序需要一个密码(目前通过控制台)。 我尝试了几种获得input的方法,但都失败了。 这是docker的限制,如果是的话有一个解决方法? 对于这个片段: Console console = System.console(); if(console == null){ System.out.println("console is null!!"); } else { System.out.println("Input password: "); char[] password = console.readPassword("Pass: "); } System.console()返回null 。 对于这个片段: System.out.println("Creating InputStreamReader"); InputStreamReader s = new InputStreamReader(System.in); System.out.println("Creating BufferedReader"); BufferedReader r = new BufferedReader(s); System.out.println("Input password: "); String password = r.readLine(); System.out.println("Password: "+password); input被自动跳过(导致string密码为空),程序继续执行,就好像没有input请求一样。 (密码为null […]

如何连接到docker / engine-api中的远程套接字?

我想检索远程机器的所有docker的图像,所以我使用docker / engine-api: https : //github.com/docker/engine-api 我成功地使用以下代码返回本地机器的泊坞窗图像: package main import ( "fmt" "github.com/docker/engine-api/client" "github.com/docker/engine-api/types" "golang.org/x/net/context" ) func main() { defaultHeaders := map[string]string{"User-Agent": "engine-api-cli-1.0"} cli, err := client.NewClient("unix:///var/run/docker.sock", "v1.22", nil, defaultHeaders) if err != nil { panic(err) } options := types.ContainerListOptions{All: true} containers, err := cli.ContainerList(context.Background(), options) if err != nil { panic(err) } for _, […]

运行Docker的用户名空间是否已知存在安全风险?

我一直在使用DigitalOcean的Dokku图像在Ubuntu上玩Docker。 一切似乎都很好。 只要检查lxc-checkconfig的安装是如何完成的,我发现lxc-checkconfig报告User namespace: Disabled 。 本教程解释说,这是因为内核没有用CONFIG_USER_NS=y编译,因此可以通过重新编译来实现。 因为一切工作正常,我想知道是否有一些我错过了这个用户命名空间的东西,例如,安全的好处。 那么,为什么通过启用用户命名空间添加function呢? 如果我保持禁用,有哪些风险或已知问题?