Docker概述
Docker是构建、运行和运输容器的事实上的标准。容器是结合了操作系统级依赖项和某种类型的应用程序代码的对象,用于在自己的隔离环境中打包和运行全栈应用程序或 ETL 管道等内容。容器就像小型计算机,只具备运行某种类型代码的必要条件。
Docker 相当年轻,于 2013 年首次作为开源项目发布。从那时起,该项目就开始爆炸式增长。
当谈到在企业环境中运行容器时,几乎每个软件和数据团队都会转向 Docker。
开发人员可以在所有三个主要操作系统上运行 Docker,并且 乌拉圭电话数据 它与几乎所有现代技术无缝集成。这意味着数据工程师可以使用本地 Mac 上的 Docker 容器编写和打包数据管道,并将该容器发送到 AWS ECS 上运行。
Docker CLI、Docker Desktop 和 Docker Hub 等工具使各个级别的开发人员都可以轻松上手。
如果您正在寻找更实用的方法来学习 Docker,我们有几个Docker 项目和有关Docker 认证的信息,可以帮助您提高 Docker 知识。
Podman 概述
与 Docker 一样,Podman 是一个用于开发和管理容器的开源工具。 Podman 最初由 Red Hat 开发,作为 Docker 的原生 Linux 替代品,于 2019 年发布。
最值得注意的是,两个容器运行时的底层架构不同; Docker 使用守护进程,而 Podman 则在没有守护进程的情况下运行(稍后会详细介绍)。
与 Docker 不同,Podman 不需要对其管理的 Pod 运行的计算机进行 root 访问;这使得 Podman 成为使用容器运行应用程序和工作负载的团队更安全的选择。
Podman 用户获得类似 Docker 的用户体验;开发人员可以使用 CLI 或 GUI(Podman 桌面)在本地环境中与 Podman 进行交互。
Linux、Mac 和 Windows 用户可以使用 Podman 在本地构建和测试其容器,然后将其部署到某种类型的远程环境(例如 Kubernetes)。
Podman 和 Docker 之间的主要区别
守护进程与守护进程架构无守护进程
Docker 和 Podman 之间最大的区别在于各自构建的底层架构。 Docker 严重依赖守护进程,而 Podman 没有守护进程。
您可以将守护程序视为在主机操作系统后台运行的进程。就 Docker 而言,它的守护进程负责管理 Docker 对象(镜像和容器)并与其他系统通信。为了运行它的守护进程,Docker 使用一个名为dockerd 的包。