• Docker 资源限制之内存

    日期:

    一、压测工具 stress 通过如下 Dockerfile 构建简单的测试镜像 cat DockerfileFROM ubuntu:latestRUN apt-get update \ apt-get install stress docker build -t ubuntu-stress:latest . 二、内存测试 Runtime constraints on resources 目前 Docker 支持内...

  • Docker 资源限制之 CPU

    日期:

    一、压测工具 同上文Docker 资源限制之内存使用 stress 测试。 二、CPU 测试 Runtime constraints on resources 目前 Docker 支持 CPU 资源限制选项 -c,--cpu-shares=0 CPU shares (relative weight) -c 选项将会废弃,推荐使用--cpu-shares --cpu-period=0...

  • Docker 资源限制之 IO

    日期:

    一、压测工具 通过 Linux dd 命令测试 二、IO 测试 Runtime constraints on resources 关于 IO 的限制 --blkio-weight=0 Block IO weight (relative weight) accepts a weight value between 10 and 1000. --blkio-weight-device= Block IO weight (relative...

  • 理解Docker(1):Docker 安装和基础用法

    日期:

    1. 安装 1.1 在 Ubuntu 14.04 上安装 Docker 前提要求: 内核版本必须是3.10或者以上 依次执行下面的步骤: sudo apt-get update sudo apt-get install apt-transport-https ca-certificates sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.ne...

  • 理解Docker(2):Docker 镜像

    日期:

    对于每个软件,除了它自身的代码以外,它的运行还需要有一个运行环境和依赖。不管这个软件是象往常一样运行在物理机或者虚机之中,还是运行在现在的容器之中,这些都是不变的。在传统环境中,软件在运行之前也需要经过 代码开发-运行环境准备 - 安装软件 -...

  • 理解Docker(3):Docker 使用 Linux namespace 隔离容器的运行环境

    日期:

    1. 基础知识:Linux namespace 的概念 Linux 内核从版本 2.4.19 开始陆续引入了 namespace 的概念。其目的是将某个特定的全局系统资源(global system resource)通过抽象方法使得namespace 中的进程看起来拥有它们自己的隔离的全局系统资源实例(The purpos...

  • 理解Docker(4):Docker 容器使用 cgroups 限制资源使用

    日期:

    上一篇文章将到 Docker 容器使用 linux namespace 来隔离其运行环境,使得容器中的进程看起来就像爱一个独立环境中运行一样。但是,光有运行环境隔离还不够,因为这些进程还是可以不受限制地使用系统资源,比如网络、磁盘、CPU以及内存 等。为了让容器中的进...

  • 理解Docker(5):Docker 网络

    日期:

    1. Docker 网络概况 用一张图来说明 Docker 网络的基本概况: 2. 四种单节点网络模式 2.1 bridge 模式 Docker 容器默认使用 bridge 模式的网络。其特点如下: 使用一个 linux bridge,默认为 docker0 使用 veth 对,一头在容器的网络 namespace 中,一头在 d...

  • 理解Docker(6):若干企业生产环境中的容器网络方案

    日期:

    Docker 在早期只有单机上的网络解决方案,在 1.19 版本引入了原生的 overlay 网络解决方案,但是它的性能损耗较大,可能无法适应一些生产环境的要求。除了Docker 提供的解决方案外,还有其它一些开源的解决方案。本文首先会简介各种已有的方案,然后根据公开...

  • 理解Docker(7):Docker 存储 - AUFS

    日期:

    Docker 存储可以分为分层文件系统和卷,本文将介绍 AUFS 分层文件系统。 1. 基础知识 1.1 Linux 的 rootfs 和 bootfs 一个典型的 Linux 系统要能运行的话,它至少需要两个文件系统: boot file system (bootfs):包含 boot loader 和 kernel。用户不会修改...