专栏首页康怀帅的专栏Docker 相关概念总览

Docker 相关概念总览

Docker 概念总览

Docker Engine

Docker 引擎

Docker architecture

Docker 架构

Docker daemon

Docker 守护进程,dockerd 命令

Docker client

Docker 客户端,docker 命令

Docker registries

Docker 仓库

Docker objects

Docker 对象

IMAGES

镜像

CONTAINERS

容器

SERVICES

服务

Services allow you to scale containers across multiple Docker daemons, which all work together as a swarm with multiple managers and workers. Each member of a swarm is a Docker daemon, and the daemons all communicate using the Docker API. A service allows you to define the desired state, such as the number of replicas of the service that must be available at any given time. By default, the service is load-balanced across all worker nodes. To the consumer, the Docker service appears to be a single application. Docker Engine supports swarm mode in Docker 1.12 and higher.

底层技术

Docker is written in Go and takes advantage of several features of the Linux kernel to deliver its functionality.

Namespaces

命名空间

Docker uses a technology called namespaces to provide the isolated workspace called the container. When you run a container, Docker creates a set of namespaces for that container.

These namespaces provide a layer of isolation. Each aspect of a container runs in a separate namespace and its access is limited to that namespace.

Docker Engine uses namespaces such as the following on Linux:

  • The pid namespace: Process isolation (PID: Process ID).
  • The net namespace: Managing network interfaces (NET: Networking).
  • The ipc namespace: Managing access to IPC resources (IPC: InterProcess Communication).
  • The mnt namespace: Managing filesystem mount points (MNT: Mount).
  • The uts namespace: Isolating kernel and version identifiers. (UTS: Unix Timesharing System).

Control groups

控制组 cgroups

Docker Engine on Linux also relies on another technology called control groups (cgroups). A cgroup limits an application to a specific set of resources. Control groups allow Docker Engine to share available hardware resources to containers and optionally enforce limits and constraints. For example, you can limit the memory available to a specific container.

Union file systems

联合文件系统

Union file systems, or UnionFS, are file systems that operate by creating layers, making them very lightweight and fast. Docker Engine uses UnionFS to provide the building blocks for containers. Docker Engine can use multiple UnionFS variants, including AUFS, btrfs, vfs, and DeviceMapper.

Container format

容器格式

Docker Engine combines the namespaces, control groups, and UnionFS into a wrapper called a container format. The default container format is libcontainer. In the future, Docker may support other container formats by integrating with technologies such as BSD Jails or Solaris Zones.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • macOS PhpStorm Docker 使用详解

    在 PhpStorm | Preferences | Build, Execution, Deployment | Docker 设置 Docker。 项目根目...

    康怀帅
  • 在开发环境使用 Docker

    本文是对官方文档的总结与备注。 官方文档:https://docs.docker.com/develop/ 根据官方文档的层次,分为 容器 (Container...

    康怀帅
  • PHP 面向对象 重载

    overloading 动态地「创建」类属性和方法,通过魔术方法实现。 当调用当前环境下未定义或不可见的类属性或方法时,重载方法会被调用。 属性重载 __...

    康怀帅
  • 「第一部:容器和Docker」(3) Docker相关术语

    本节列出了在深入了解Docker之前应该熟悉的术语和定义。更多定义,请参阅Docker提供的扩展词汇表。

    首席架构师智库
  • Docker云定价惹恼Tutum用户

    Tutum平台的beta版用户对于近来急促上涨的价格感到不满,但Docker官方表示今年会有定价选项的后续方案出台。请保持关注。 Docker云来了,但它并未完...

    静一
  • ​k8s极简史

    Docker和K8S已经是当下运维的必备技能,无论是行业技能要求还是前沿技术领域,现在还不能很好掌握这两门技术的技术人员,在新一轮的技术迭代中将最终被抛弃。

    运维部落
  • 7个最佳的学习Python编程的开源库

    很多伙伴们在学习Python的过程中,更倾向于在Github上寻找Python学习资料,今天就和大家分享Github上7个绝佳的Python编程学习的开源库:

    Python进击者
  • Hbase 学习(五) 调优

    1.垃圾回收器调优 当我们往hbase写入数据,它首先写入memstore当中,当menstore的值大于hbase.hregion.memstore.fl...

    岑玉海
  • 童航君:腾讯云CIS服务和clear container

    今天我讲的主要是关于腾讯云最近新上的一款产品CIS。我自加入腾讯云以来就一直在负责CIS的开发工作。不多说,我们直接进入主题。

    云加社区技术沙龙
  • OpenGL ES 2.0 (iOS) 笔记大纲

    这里包含了所有,我已经学习或者将要学习的 OpenGL ES 2 内容,所以它是笔记,描述的是学习心得,不是一本教科书。

    半纸渊

扫码关注云+社区

领取腾讯云代金券