包管理 – 包和Docker镜像之间的差异
我理解PPA,但Docker对我来说是新手.在包管理方面,Docker和Dockerfiles与Ubuntu的个人包存档(PPA)有何不同? 最佳答案
包和容器映像是分发软件同时避免冲突的两种方式,尽管它们使用完全不同的方法.
包是由包管理器安装的文件包,例如RHEL中的RPM或Ubuntu中的APT,它在将文件写入一个之前检查以确保多个包使用兼容的库,不使用相同的文件名等.共享文件系统.然后,用户可以直接启动程序. 软件包通常来自存储库,由运行存储库的人员来决定哪个软件包可以控制每个文件名,网络端口,系统用户ID等,以及打包的程序版本.包是根据规范文件构建的,列出应包含哪些文件. PPA(个人包存档)允许个人和小组发布他们自己的包,用于尚未被接受到主存储库的软件. 容器是沙箱,程序或程序组可以在其中运行,与系统的其余部分隔离.由于Linux内核支持每进程命名空间,因此它们只能访问自己的文件(具有单独的根目录和挂载表),网络接口等(就像更全面的chroot形式一样.) 因为容器只能访问自己的文件,所以有图像,形成容器初始状态的文件包.由于沙盒的存在,不需要与包装一样的协调.每个容器都包含它需要的特定版本的库. Docker是一个容器管理器:它从指定的映像启动容器,设置其网络接口,记录其输出等. 它还管理图像:它可以从名为Dockerfiles的脚本构建它们,并将它们上传到Docker Hub,这是一组(大多数)用户控制的存储库. 这两种方法可以组合在一起:您可以基于最小的RHEL或Ubuntu映像创建映像,并使用在容器内运行的yum或apt-get在其中安装包. 反过来也是可能的:一个包可以安装一个图像,虽然我没有听说有人这样做. 当然,最简单的安装Docker的方法是with a package manager. 同样,Puppet和Chef等配置管理系统仍然存在角色:在内部设置容器,或控制在哪些机器上部署哪些容器并将它们连接在一起. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |