Docker基础学习(二)

128 阅读2分钟

Docker的组成

  • Docker的架构图
    • image.png
  • Docker的组成部分
    • 镜像(image)
      • docker镜像就好像是一个模板,可以通过这个模板来创建出来容器的服务,mysql镜像--->run命令--->mysql容器(提供mysql服务)
      • 通过这个镜像可以创建多个容器(最终服务运行或者项目运行就在容器中的)
    • 容器(container)
      • Docker利用容器技术,独立运行一个或者一个组应用,通过镜像进行创建
      • 启动,停止,删除,基本命令
      • 目前就可以把这个容器理解为就是一个简易的linux系统
    • 仓库(repository)
      • 仓库就是存放镜像的地方
      • 仓库分为公有仓库和私有仓库
      • Docker Hub(默认是国外的)
      • 阿里云……都有容器服务器(配置镜像加速)

安装Docker

  • 使用命令 uname -r 查看内核版本
    • 4.4.4-187-generic
  • 命令cat /etc/os-release查看系统的详细信息
root@iZbp12kyfwxfku3288sr59Z:/# cat /etc/os-release

NAME="Ubuntu"
VERSION="16.04.7 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.7 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
 UBUNTU_CODENAME=xenial
  • 安装过程:文档中有详细的说明
    • 安装教程:安装的步骤
    • 卸载过程:卸载的步骤
    • 阿里云镜像加速:阿里云镜像加速

docker的运行

  • run命令执行后到底发生了什么?

    • 描述就是:在执行了docker这个命令后,从client端发送到server这个服务端,在服务中进行执行,这样首先docker会在本地进行查找,看看镜像是不是存在,存在直接运行,不存在的话,会发送指令到docker-hub中,进行查找,若找到了就进行下载,若没有找到,,会从服务端返回错误信息,假设找到了,下载到本地,本地就会加载这个镜像,运行起来
    • image.png
  • 底层原理

    • docker是一个Client-Server结构的系统,docker的守护进程运行在主机上,通过socket从客户端进行访问
    • Docker-server接收到docker-client的指令,就会执行这个命令
    • image.png
  • Docker 为什么会比 VM快?

    • docker有着比虚拟机更少的抽象层
    • docker利用的是宿主机的内核,vm需要的是Guest OS
    • image.png
    • 所以说,新建一个容器的时候,docker不需要像虚拟机一样加载一个操作系统的内核,避免了引导。虚拟机是加载Guest OS,分钟级别的,而docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级