image.png

  • 官网
  • 中文博客

  • 解决单台服务器资源过剩 压榨服务器

  • 方便迁移和隔离

    简介

  • docker是一个应用容器

  • 操作系统层面的虚拟化技术
    • 实现了进程间的隔离
    • 隔离的进程独立于宿主机和其他进程 想一个容器一样
  • go语言开发

    功能

  • 保证开发测试生产的环境一致

    • 环境一致 方便迁移
  • 容器间相互隔离
    • 一个容器挂了不影响其他容器 所以可以共用一台服务器
  • 方便大规模集群的部署

    • 部署集群跟复制粘贴一样轻松

      docker与虚拟机区别

      image.png
  • 虚拟机

    • 在操作系统上又虚拟化了个操作系统 然后跑程序
  • docker
    • 在操作系统上通过docker引擎跑程序
  • docker优势

    • 轻量级 速度快 消耗少
    • 二次部署方便
    • 应用之间相互隔离

      docker架构

      image.png
  • 镜像

    • 镜像相当于软件 mysql镜像 tomcat镜像
  • 容器
    • 镜像运行一次就产生一个容器 我感觉想进程 只不过是相互隔离的进程
  • 仓库
    • 用来放镜像的
  • dockerFile
    • 生产镜像的配置文件 可以自定义镜像的配置
  • tar

    • 将镜像打包成tar 然后可以考到别的电脑上解压

      执行流程

      image.png
  • 先从本地仓库找镜像

  • 没有就到docker hub中找

    docker镜像原理

    简介

  • 镜像是一个软件包 打包了软件运行时需要的程序和环境

    UnionFS 联合文件系统

  • 镜像采用联合文件系统 一层一层地叠加文件

  • 这样方便共享资源
  • 底层镜像可以共享 (docker镜像都是只读的)

image.png

本质

  • docker镜像本质是一层一层的联合文件系统
  • bootfs (boot file system)包含linux内核
  • rootfs (root file system) 在内核基础上包含了不同的操作系统 比如Ubuntu CentOS
  • docker的系统只包含最最基本的运行需要的命令

image.png