我必须为不同的编程语言,框架和DBMS开发;有时使用不同版本的自身或其依赖项。而且我不想让三个或更多服务一直在运行。
所以我搜索了一下,然后我发现了Vagrant,然后是Docker。我发现Docker对我来说更有趣(至少,我对它的了解很少),因为Vagrant在某些情况下需要大量的RAM,而且我认为运行虚拟机的想法并不太有趣。
我的问题是:Docker会在本地安装我的依赖项,并且只在我运行容器时才运行它们吗?因为我试图使用DevAssistant设置一个Docker项目,并且它试图安装RPM(全球,我相信,虽然我不完全确定)。
答案 0 :(得分:1)
您可能想要了解一下docker图像和容器的关联方式。 Docker镜像是您通常使用捆绑的所有依赖项构建的内容。它们占用磁盘空间但不占用内存。当docker'实例化'一个映像时,它会创建一个容器,由于联合文件系统,它通常占用内存但磁盘空间很小。您在图像中捆绑的那些依赖项会在文件系统之上进行分层,但它们仍然在该容器中完全隔离。它们不会是全局的。所以要回答你的问题,从某种意义上讲,依赖关系仅在你运行容器时运行。