加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

包管理 – 包和Docker镜像之间的差异

发布时间:2020-12-16 03:54:44 所属栏目:安全 来源:网络整理
导读:我理解PPA,但Docker对我来说是新手.在包管理方面,Docker和Dockerfiles与Ubuntu的个人包存档(PPA)有何不同? 最佳答案 包和容器映像是分发软件同时避免冲突的两种方式,尽管它们使用完全不同的方法. 包是由包管理器安装的文件包,例如RHEL中的RPM或Ubuntu中的AP

我理解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等配置管理系统仍然存在角色:在内部设置容器,或控制在哪些机器上部署哪些容器并将它们连接在一起.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读