当前位置: 首页 > 面试题库 >

Docker / LXC容器是正在运行的应用程序还是内存中的东西?

东方骏
2023-03-14
问题内容

我刚刚读了一个非常好的SO问题,询问“Docker和VM之间有什么区别?”。但是,被接受的答案让我只想要一点点。

有点 理解一个容器(Docker/LXC-我没什么不同),使用一种叫做libcontainerAuFS的东西,以便数十,数百甚至数千个容器可以共享相同的CPU,RAM和磁盘资源。但是,答案仍然不能
完全 解释什么是“容器”!

容器只是这种libcontainer运行的一个实例吗?它是使用的应用程序libcontainer吗?Linuxy有点像服务/守护进程吗?所以我问:

  • 什么 究竟 是一个“容器”?
  • 多个容器可以在同一虚拟机/物理设备中共享的 确切 计算/系统资源是什么?
  • Docker / LXC是容器方程式中的“管理程序”吗?如果不是,那么Doc​​ker,LXC和之间是什么关系libcontainer

问题答案:

答案仍然不能完全解释什么是“容器”!

容器基本上是一个独立的过程,具有其工作所需的所有环境(Web服务器,数据库,CMS,任何软件…)。

容器使用Linux内核名称空间来隔离进程,网络和文件系统。容器使用进程隔离的概念:文件系统,进程,网络,资源(CPU,内存),日志记录(STDIN
…),外壳隔离。

Docker / LXC-我没什么不同

LXC是一组用于控制容器的工具;Docker是另一套工具(所有工具都捆绑在同一个程序中),它还添加了一种文件格式,因此“图像”的内容可以在计算机之间传递。Docker比LXC更受关注。Docker曾经使用lxc库来控制容器,但用自己的名为libcontainer的库代替了它。

多个容器可以在同一虚拟机/物理设备中共享的确切计算/系统资源是什么?

同一台计算机上的容器将共享CPU,内存和内核。此外,Docker使您可以选择让它们共享同一网络。

Docker / LXC是容器方程式中的“管理程序”吗?

Linux内核是真正的“管理程序”,并且Docker / LXC向其发送命令以创建和控制容器



 类似资料:
  • 我刚刚读了一个很棒的SO问题,问“Docker和VM之间有什么区别?”。然而,被接受的答案让我只想再多一点。 我有点理解一个容器(Docker/lxc--我不明白其中的区别),它使用和AuFS,以便几十个、几百个、甚至数千个容器可以共享相同的CPU、RAM和磁盘资源。但是,答案仍然没有解释到底什么是“容器”! 容器只是运行的的一个实例吗?是使用的应用程序吗?它是不是像服务/守护进程这样的Linux

  • 我们已经封装了一个JVM(Scala)应用程序Java1.7,并试图决定如何分配内存。我们在docker容器中运行了一个应用程序。如果为docker容器分配了4GB的RAM,那么我们是否应该为JVM分配4GB(或者为了安全起见稍微少一点)? 据我所知,除了从入口点调用的进程之外,docker容器中没有其他进程在运行,所以我们不需要担心非JVM内存的使用--这是真的吗,还是过于简化了?我们还有其他问

  • 我已经创建了一个docker映像来测试Angular应用程序,但是我无法在docker容器内从主机连接到正在运行的应用程序。 该图像是使用带有:EXPOSE 4200 8080 80的Dockerfile创建的 我使用命令运行docker容器:docker run-ti-p 4200:4200angulardev/bin/bash 在容器内部,我创建了Angular应用程序,并使用:ng serv

  • 需要的是在没有互联网访问和不能写入随机文件系统位置的环境中运行安装在主机上的命令行程序。想使用lxc。 尽可能多地共享主机的文件系统 问题是因为使用像ubuntu这样的通用模板会安装很多独立的软件,我更愿意使用主机上的lib之类的软件 在将来的某个时候,这可能会被用于Evince或LibreOffice,用于那些可能嵌入了脚本和跟踪器的文档,或者是不好的封闭源代码软件。

  • 问题内容: 有什么方法可以确定进程(脚本)是否在lxc容器(〜Docker运行时)中运行?我知道有些程序能够检测它们是否在虚拟机中运行,是否可以为lxc / docker使用类似的程序? 问题答案: 最可靠的方法是检查。它会告诉您init进程的控制组,并且当您 不在 容器中时,它将用于所有层次结构。当您 在 容器内时,将看到锚点的名称。对于LXC / Docker容器,将分别类似于或。

  • 其基本思想是运行带有音频和ui的应用程序(vlc、firefox、skype…) 我在使用pulseaudio搜索docker容器,但我找到的所有容器都在TCP上使用pulseaudio流。(应用程序的安全沙箱) https://gist.github.com/hybris42/ce429de428e5af3a344a https://github.com/jlund/docker-chrome-