什么是容器?¶
容器是 Docker 镜像的运行实例。它是一个轻量级的、独立的运行时环境,包含了应用程序及其依赖项。容器与宿主机共享操作系统内核,但通过 Namespace 和 Cgroups 实现了资源隔离和限制。
容器的核心思想¶
容器的核心思想是**隔离**和**可移植性**。通过容器技术,应用程序可以在不同的环境中以相同的方式运行,而无需担心环境差异带来的问题。容器通过以下机制实现隔离:
- 命名空间(Namespaces):为容器提供独立的进程、网络、文件系统等资源视图。
- 控制组(Cgroups):限制和分配容器的资源使用,如 CPU、内存等。
- 联合文件系统(Union File System):允许容器共享基础镜像,同时保留独立的文件系统层。
镜像、镜像仓库、容器的关系¶
镜像与容器:
- 由镜像运行容器:
docker run
- 由容器导出镜像:
docker commit
镜像仓库与容器:
- 镜像仓库与容器没有直接关系,需要通过镜像作为桥梁关联