官术网_书友最值得收藏!

What is a container?

Containers are a type of operating system virtualization, much like the virtual machines that preceded them. There's also lesser known types of virtualization such as Application Virtualization, Network Virtualization, and Storage Virtualization. While these technologies have been around since the 1960s, Docker's encapsulation of the container paradigm represents a modern implementation of resource isolation that utilizes built-in Linux kernel features such as chroot, control groups (cgroups), UnionFS, and namespaces to fully isolated resource control at the process level.

Containers use these technologies to create lightweight images that act as a standalone, fully encapsulated piece of software that carries everything it needs inside the box. This can include application binaries, any system tools or libraries, environment-based configuration, and runtime. This special property of isolation is very important, as it allows developers and operators to leverage the all-in-one nature of a container to run without issue, regardless of the environment it's run on. This includes developer laptops and any kind of pre-production or production environment.

This decoupling of application packaging mechanism from the environment on which it runs is a powerful concept that provides a clear separation of concerns between engineering teams. This allows developers to focus on building the core business capabilities into their application code and managing their own dependencies, while operators can streamline the continuous integration, promotion, and deployment of said applications without having to worry about their configuration.

At the core of container technology are three key concepts:

  • cgroups
  • Namespaces
  • Union filesystems
主站蜘蛛池模板: 梨树县| 宁安市| 马鞍山市| 乌兰浩特市| 东乌珠穆沁旗| 突泉县| 乐昌市| 丹东市| 青浦区| 万州区| 新和县| 阜康市| 通榆县| 临邑县| 古蔺县| 江北区| 高尔夫| 石林| 盐津县| 乃东县| 晴隆县| 新建县| 延川县| 上栗县| 忻州市| 克东县| 金沙县| 灵璧县| 奉贤区| 巴南区| 大理市| 石首市| 长阳| 稻城县| 小金县| 贵港市| 长丰县| 南平市| 松桃| 宿松县| 承德县|