美文网首页openshift
docker机制概述

docker机制概述

作者: wangxiaoxi | 来源:发表于2018-10-26 16:47 被阅读22次

docker机制

docker是容器化的一种实现,可用来部署。

docker hub提供了很多社区开发的容器。

docker用了一种叫做client-server的机制。

client:

命令行工具docker用于和docker server基于RESTful API来执行操作

server:

docker在一个操作系统上作为一个进程,构建build, 运行和下载容器镜像。这个进程可以和docker client运行在同一个操作系统上,可以运行在远端。

Docker核心元素

images:

镜像是一个只读模版,包含了一个实时运行环境所需的所有的库和应用程序本身。镜像可以用来创建容器。镜像可以创建,更新和下载用于实时的使用。

registries

仓库存储共有和私由的images. 比较知名的公开的registries是docker hub.它存储了许多由社区开发的镜像。但是私有的registries可以被创建,提供给内部镜像的开发。

containers

containers是在共有host OS上应用程序之间相互隔离的用户环境。

container 和Linux kernel

container是Docker创建的,从docker image中,隔离于其他linux内核的一些标准功能。

这些标准功能包括:

命令空间

内核可以将对特定进程可见的特定系统资源分配到一个命名空间。在这个命令空间,只有在这个命令空间的进程可以看到这些资源。可被分配到命名空间的资源由网络接口,进程ID列表,挂载点,IPC资源和这个系统自己的hostname信息。例如,在不同命名空间的2个进程拥有不同的根文件系统。每个容器都被加到一个特定组的命名空间,这个命名空间为container独有。

cgroups

control groups将进程和他们的子进程进行分组,以便于去管理和限制其所消耗的资源。

cgroup对属于特定容器用的系统和资源进行限制。这就使容器不会耗费container host的资源。

SELinux

SELinux是一个强制访问控制系统,用于将container与其他container, container和container hosts进行保护。 Container以一个限制的SELinux type来运行,其对系统资源只有非常有限的访问权限。每个container的进程被放在一个唯一的种类将彼此隔离。

Docker Container Images

每一个docker image包含了许多层,这些层叠加起来,让容器化的程序看起来就是一个独立的虚拟的文件系统。docker images是不可改变的。只有层之间的叠加而不存在下一层之间改变上一层。

创建image的两种方式

1. 用一个正在运行的container.

一个不变的image启动一个container instance, 任何的简化和更新都会产生一个新的层。Docker 命令‘docker commit’可以存储这个新的层生成新的image。这是生成image最方便的方法。但是我们并不推荐这么做,因为这样生成的image会因为存在临时文件或日志文件等不需要的文件是变的很大。

2. Dockerfile

Container images 可以从一个base image经过Dockerfile中的一些步骤进行编译。每一步都创建了一个新的层直到最后的container image. 这是我们推荐的build image的方法。因为它非常清楚了记录了那些层有那些文件。

相关文章

  • docker机制概述

    docker机制 docker是容器化的一种实现,可用来部署。 docker hub提供了很多社区开发的容器。 d...

  • docker swarm(二):Ingress Routing

    概述 Routing Mesh是docker swarm提供的确保service在多节点网络上可用的集群网络机制。...

  • Docker的安装及基础命令

    一、概述 1.1. 学习路径 Docker概述 Docker安装 Docker命令镜像命令容器命令操作命令... ...

  • 记录一次Docker的学习

    Docker学习 Docker概述 Docker安装 Docker命令镜像命令容器命令操作命令... Docker...

  • Docker超详细学习笔记

    Docker概述 Docker文档中心: https://docs.docker.com/ Docker商店: h...

  • Docker,貌似大家是不是已经学会了!

    一、 Docker 概述 1、 Docker 简介2、 Docker 安装(1) MacOS Installati...

  • docker概述

    什么是 Docker? Docker 是一种 Linux 容器技术,一种高效、敏捷、和轻量级的容器解决方案,并且支...

  • Docker 概述

    Docker 是一个应用程序开发、部署、运行的平台,使用 go 语言开发。相较于传统的主机虚拟化,Docker 提...

  • Docker概述

    一、容器与传统虚拟化对比 传统虚拟化:运行于物理硬件之上,需要先创建模拟层、管理层,故开销大。 容器:运行于操作系...

  • Docker概述

    Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)...

网友评论

    本文标题:docker机制概述

    本文链接:https://www.haomeiwen.com/subject/iubktqtx.html