2019-03-15

DOCK - 容器 (容器虚拟化软件)

基本概念

虚拟化技术

  • 虚拟化技术是一种将计算机物理资源进行抽象、转换为虚拟的计算机资源提供给程序使用的技术。
  • CPU-运算资源,硬盘-数据存储资源,网卡-网络传输资源
  • 提供跨平台特性
  • 提升物理资源利用率

虚拟化分类

  • 硬件虚拟化 软件虚拟化
  • 虚拟机 Hypervisor


    image.png
  • 隔离应用程序和操作系统 或者是硬件资源
  • 性能底下

容器技术

  • 全新的虚拟化技术(操作系统虚拟化)
  • 不完全,不彻底的虚拟化技术
  • 提供 独立的运行环境,资源控制功能

虚拟机VS 容器

image.png

效率

  • 微服务架构的出现
  • 互联网应用的规模
  • Devops理念

技术实现

  • NameSpaces - 进程隔离


    image.png
  • Control Groups - 资源控制


    image.png
  • Union File System - 联合文件结构


    image.png

核心组件

  • 镜像 - 增量式镜像结构


    image.png
  • 容器

  1. 一个 Docker 镜像
  2. 一个程序运行环境
  3. 一个指令集合
  • 网络


    image.png
  • 数据卷

Docker Engine

  • Docker daemon


    image.png
  • Docker CLI


    image.png

使用镜像

  • docker images


    image.png

    镜像的 ID ( IMAGE ID)、构建时间 ( CREATED )、占用空间 ( SIZE )

命名我们可以分成三个部分:username、repository 和 tag。
username: 主要用于识别上传镜像的不同用户,与 GitHub 中的用户空间类似。
repository:主要用于识别进行的内容,形成对镜像的表意描述。
tag:主要用户表示镜像的版本,方便区分进行内容的不同细节

  • docker pull nginx
    从Docker Hub 拉取镜像
  • docker rmi 删除镜像
  • docker inspect 查看镜像具体信息

运行-管理容器

容器运行生命周期5种状态

  • Created 容器已创建,相关资源准备就绪,未运行
  • Running 容器正在运行
  • Paused 容器已暂停
  • Stopped 容器已停止
  • Deleted 容器已删除,资源释放和移除
创建容器
  • docker create
    image.png
  • 查看容器状态


    image.png
  • docker create --name nginx ImagesId


    image.png
删除容器
  • docker rm CID | docker rm name


    image.png
运行容器
  • docker run --name nginx -p 8080:80 -d ImageId


    image.png
停止容器
  • docker stop nginx
进入容器
  • docker exec -it nginx bash
    -i 保持输入流
    -t 启用一个伪终端

推荐阅读更多精彩内容