你运行的是容器,而不是 Docker - 讨论 Docker 的变种、组件和版本管理

你运行的是容器,而不是 Docker - 讨论 Docker 的变种、组件和版本管理

💡 原文英文,约2700词,阅读约需10分钟。
📝

内容提要

Docker 是由 dotCloud, Inc. 开发的软件,现由 Docker, Inc. 维护。它允许在服务器上运行 Linux 和 Windows 容器,用户可通过 Docker Desktop 在虚拟机中使用。Docker CE 是社区版,包含客户端和守护进程。掌握相关术语有助于更好地沟通和解决问题。

🎯

关键要点

  • Docker 是由 dotCloud, Inc. 开发的软件,现由 Docker, Inc. 维护。

  • Docker 允许在服务器上运行 Linux 和 Windows 容器,用户可通过 Docker Desktop 在虚拟机中使用。

  • Docker CE 是社区版,包含客户端和守护进程。

  • Docker 的历史始于 2013 年,现已发展出多个变种和组件。

  • Docker 守护进程可以直接在服务器上运行,也可以在虚拟机中运行。

  • Linux 容器需要 Linux 主机,Windows 容器需要 Windows 主机。

  • 在 Windows 或 macOS 上运行 Linux 容器需要使用虚拟机。

  • Docker Desktop 可以在 Windows、macOS 和 Linux 上运行,但仍然在虚拟机中创建 Docker 守护进程。

  • Docker 的源代码在 GitHub 上的 moby/moby 仓库中。

  • Docker 企业版(Docker EE)已被 Mirantis 收购,不再存在。

  • docker.io 是基于 Moby 的包,但不受 Docker, Inc. 支持。

  • Docker CE 是 Docker 社区版,基于 Moby,并由 Docker, Inc. 官方支持。

  • Docker in Docker 是指在 Docker 容器内运行 Docker 守护进程。

  • Docker CE 主要由客户端和守护进程两部分组成。

  • Docker 客户端通常指的是终端中的 'docker' 命令。

  • Docker Compose 是一个插件,用于定义和运行多容器 Docker 应用。

  • Docker 守护进程的启动命令为 dockerd,支持无根用户模式。

  • Podman 有时会将别名设置为 'docker',可能导致混淆。

  • 安装 Docker CE 时,相关包的版本应保持一致,以确保兼容性。

🔎

延伸解读

Docker 的多样性与组件

Docker 发展出多个变种和组件,理解这些差异有助于用户选择合适的工具。例如,Docker CE 是社区版,适合大多数用户,而 Docker EE 已被 Mirantis 收购,不再存在。用户在选择时应注意这些版本的支持和更新情况。

容器与虚拟机的区别

Docker 容器与虚拟机的运行方式不同,容器是运行在主机上的进程,而虚拟机则是完整的操作系统。用户在使用 Docker 时需明确自己的主机环境,以便选择合适的容器类型,避免不必要的兼容性问题。

Docker Desktop 的使用限制

虽然 Docker Desktop 提供了在 Windows 和 macOS 上使用 Docker 的便利,但它仍然依赖于虚拟机。这意味着在某些情况下,用户可能需要启用额外的虚拟化功能,如 HyperV 或 WSL2,以确保 Docker 的正常运行。

延伸问答

Docker 是什么?

Docker 是由 dotCloud, Inc. 开发的软件,现由 Docker, Inc. 维护,允许在服务器上运行 Linux 和 Windows 容器。

Docker CE 和 Docker EE 有什么区别?

Docker CE 是社区版,基于 Moby,并由 Docker, Inc. 官方支持;而 Docker EE 已被 Mirantis 收购,不再存在。

如何在 Windows 上运行 Linux 容器?

在 Windows 上运行 Linux 容器需要使用虚拟机,因为 Linux 容器需要 Linux 主机。

Docker Desktop 的功能是什么?

Docker Desktop 可以在 Windows、macOS 和 Linux 上运行,创建虚拟机以运行 Docker 守护进程。

什么是 Docker in Docker?

Docker in Docker 是指在 Docker 容器内运行 Docker 守护进程,而不是在 Docker 守护进程内运行容器。

Docker 的源代码在哪里可以找到?

Docker 的源代码可以在 GitHub 的 moby/moby 仓库中找到。

🏷️

标签

➡️

继续阅读