Docker基础和常用命令

Docker基础和常用命令一 , Docker 简介1.1,什么是 DockerDocker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离 , 属于操作系统层面的虚拟化技术 。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器 。Docker容器与虚拟机类似,但二者在原理上不同 。容器是将操作系统层虚拟化,虚拟机则是虚拟化硬件,因此容器更具有便携性、能更高效地利用服务器 。
专业名词 Docker 有两个意思:

  • 代指整个 Docker 项目 。
  • 代指 Docker 引擎 。
Docker 引擎(Docker Engine)是指一个服务端-客户端结构的应用 , 主要有这些部分:Docker 守护进程、Docker Engine API(页面存档备份 , 存于互联网档案馆)、Docker 客户端 。
1.2 , Docker 与虚拟机的区别
  • 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统 , 在该系统上再运行所需应用进程 。
  • Docker 容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟 。因此容器要比传统虚拟机更为轻便 。
特性Docker虚拟机启动秒级分钟级硬盘使用一般为 MB一般为 GB性能接近原生弱于系统支持量单机支持上千个容器一般几十个1.3,Docker 架构
Docker基础和常用命令

文章插图
runc 是一个 Linux 命令行工具 , 用于根据 OCI容器运行时规范 创建和运行容器 。containerd 是一个守护程序,它管理容器生命周期,提供了在一个节点上执行容器和管理镜像的最小功能集 。
1.4,为什么用 DockerDocker 作为一种新的虚拟化技术,跟传统的虚拟化技术相比具有众多的优势:
  1. 更高效的利用系统资源:不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高 。
  2. 更快速的启动时间:Docker 容器应用直接运行于宿主内核 , 不需要启动完整的操作系统 , 所以启动时间可做到秒级的启动时间 。
  3. 一致的运行环境:Docker 镜像提供了除内核外完整的运行时环境 , 确保开发环境、测试环境、生产环境的一致性 。
  4. 持续交付和部署:开发人员可以通过 Dockerfile 来进行镜像构建 , 并结合持续集成(Continuous Integration) 系统进行集成测试,而运维人员则可以直接在生产环境中快速部署该镜像,甚至结合持续部署(Continuous Delivery/Deployment) 系统进行自动部署 。
  5. 更轻松的迁移:Docker 可以在很多平台上运行,无论是物理机、虚拟机、公有云、私有云 , 甚至是笔记本,其运行结果是一致的 。
  6. 更轻松的维护和扩展 。
二 , Docker 基本概念Docker 三个基本概念:
  • 镜像(Image)
  • 容器(Container)
  • 仓库(Repository)
2.1,镜像操作系统分为内核和用户空间 。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持 。而 Docker 镜像(Image),就相当于是一个 root 文件系统 。比如官方镜像 ubuntu:18.04 就包含了完整的一套 Ubuntu 18.04 最小系统的 root 文件系统 。
Docker 镜像 是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等) 。镜像 不包含 任何动态数据 , 其内容在构建之后也不会被改变 。
Docker 镜像并非是像一个 ISO 那样的打包文件 , 镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说 , 由多层文件系统联合组成 。其被设计为分层存储的架构,镜像构建时,会一层层构建,前一层是后一层的基础 。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层 。分层存储的特征还使得镜像的复用、定制变的更为容易 。甚至可以用之前构建好的镜像作为基础层 , 然后进一步添加新的层,以定制自己所需的内容,构建新的镜像 。
2.2,容器镜像(Image)和容器(Container)的关系,类似面向对象程序设计中的类和实例的关系 。可以把 Docker容器(Container) 看做是一个简易版的 Linux 环境(包括 root 用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序 。它可以被启动、开始、停止、 删除 。

推荐阅读