随笔分类 - Docker
摘要:云计算定义:云计算是一种资源服务模式,该模式可以随时随地,便捷按需地从可配置计算资源共享池中获取所需的资源,资源能够快速供应并释放,大大减少了资源管理工作开销。 经典云计算架构包括三层服务模型,分别是 IaaS(Infrastructure as a Service,基础设施即服务),PaaS(Pl
阅读全文
摘要:1. docker volume 简介 文章 介绍了 docker image,它由一系列只读层构成,通过 docker image 可以提高镜像构建,存储和分发的效率,节省时间和存储空间。然而 docker image 还是存在一些问题,如下: 多个容器之间的数据无法共享。 当删除容器时,容器产生
阅读全文
摘要:1. Docker 镜像 Docker 镜像是个只读的容器模板,它组成了 Docker 容器的静态文件系统运行环境 rootfs,是启动 Docker 容器的基础。 Docker 镜像是容器的静态视角,容器是镜像的运行状态。那么,怎么构建 Docker 镜像呢?这就不得不提 Liunx 的联合文件系
阅读全文
摘要:1. Liunx cgroup 使用 namespace 隔离运行环境,使得进程像在独立环境中运行一样。然而,仅有隔离环境还不够,还得限制被 namespace 隔离的资源。否则,namespace 将不限制的访问系统资源。并且,当系统资源耗尽时内核会触发 OOM 杀死不想关的进程。 Liunx 提
阅读全文
摘要:1. user namespace user namespace 主要隔离了安全相关的标识符和属性,包括用户 ID,用户组 ID,key 和 capabilities 等。同样一个用户 id 在不同 user namespace 中会有不同的权限。比如,进程属于一个普通用户,但是它创建的 user
阅读全文
摘要:1. mount namespace mount namespace 通过隔离文件系统挂载点对隔离文件系统提供支持。使用 unshare 构造 mount namespace 如下: root@chunqiu:~/chunqiu/docker/mount# dd if=/dev/zero bs=1M
阅读全文
摘要:1. namespace 资源隔离 namespace 是内核实现的一种资源隔离技术,docker 使用 namespace 实现了资源隔离。 Liunx 内核提供 6 种 namespace 隔离的系统调用,如下表所示: | namespace | 系统调用参数 | 隔离内容 | | | | |
阅读全文
摘要:1. Liunx veth-pair 和 network namespace Docker 中容器的访问需要依赖 veth-pair 和 network namespace 等技术。network namespace(网络命名空间)代表的是独立的网络协议栈,不同的网络命令空间相互隔离,无法访问。而
阅读全文
摘要:1.同网段多容器访问 这一节将对 Docker 多容器网络进行讨论,构建容器网络示意图如下: 创建容器 demo0 和 demo1: [root@lianhua ~]$ docker run -it --name demo1 httpd [root@lianhua ~]$ docker ps CON
阅读全文
摘要:1.Docker 网络模型 Docker 在 1.7 版本中将容器网络部分代码抽离出来作为 Docker 的网络库,叫 libnetwork。libnetwork 中使用 CNM(Container Network Model) 来定义容器虚拟化网络的模型。CNM 包含三个核心组件和五种内置驱动,其
阅读全文