Docker 知识精简

本文概要

  1. docker 的历史

    1. 2010 年 dotCLoud 公司创办,DotCloud 的传奇之路
    2. 该项目使用Go 语言编写, 2013 年发布docker 的第一个版本,而后开源
    3. 从2014 年开始,一直到现在,docker 的火热程度快速上升,2014 1百万,2015 十亿 2017 百亿
    4. docker 其实只是一个利用 LXC(linux container) 的(Linux 内核)底层技术的一个操作工具,是基于原有技术的升级和改良
    5. docker 最大的特点是,操作很简单,而且不需要对底层复杂的技术有很深入的了解也能正常使用
  2. docker 介绍

    1. 目前主流的虚拟化技术
      • hypervisor 类 vmware hyper-v(windows) Xen KVM 等
      • 容器虚拟化 Rocket(谷歌的CoreOS) docker
      • 对比, Horizon 桌面云,OpenStack Iaas 平台,OpenShift (K8s) 容器化平台
    2. docker 示意图
      Docker 知识精简_第1张图片
    3. docker 的特点
      • 启动快速
      • 环境隔离
      • 部署方便快捷
      • 跨平台移植
      • 版本控制,公共镜像层
    4. docker 的架构
      • 前后端分离,支持 restful API 操作
      • docker version
  3. docker 基础概念

    1. docker engine
    2. docker image
    3. docker container
    4. docker image layer
    5. docker repository --> DockerHub
    6. docker cli
      Docker 知识精简_第2张图片
  4. docker 基础使用

    1. docker search
    2. docker pull
    3. docker run
    4. docker exec
    5. docker start/stop/restart
    6. docker rm/rmi
    7. docker logs
    8. docker import/export load/save 导入导出
    9. docker inspect
    10. docker commit
  5. docker 的原理

    1. Linux 控制组和进程隔离 namespace
    2. Linux LXC 技术
    3. Docker 容器基础合集
    4. cgroup 资源控制
      • ls /sys/fs/cgroup
      • cpu blockI/O net memory
    5. namespace 访问隔离
      • 隔离 PID,Network, Mount, IPC(进程间通信),UTS (主机名),USER 用户名ID 用户组ID
      • 进程号
      • ll /proc/$$/ns
    6. rootfs 文件系统隔离
      • cd /var/lib/docker/devicemapper/mnt
      • 根目录 xxx/rootfs
      • 实际上的根目录
      • docker cp
    7. 容器引擎 libcontainer 生命周期控制

你可能感兴趣的:(Docker,docker)