Docker笔记1 | Docker学习和简介

1 | Docker学习和简介

  • 1 学习来源
  • 2 官方学习资源
  • 3 Docker简介
    • 3.1 Docker是什么?
    • 3.2 Docker应用场景
    • 3.3 Docker架构
    • 3.3 Docker的优势
    • 3.3 与传统虚拟机的区别

1 学习来源

  • 本系列笔记学习主要参考书籍《Docker-从入门到实践》以及结合官网的教程,仅作为个人学习使用;
  • 推荐大家阅读此书,感谢作者的书籍,学到了很多。

2 官方学习资源

  • Docker 官方主页:https://www.docker.com
  • Docker 官方博客:https://blog.docker.com/
  • Docker 官方文档:https://docs.docker.com/
  • Docker Store:https://store.docker.com
  • Docker Cloud:https://cloud.docker.com
  • Docker Hub:https://hub.docker.com
  • Docker 的源代码仓库:https://github.com/moby/moby
  • Docker 发布版本历史:https://docs.docker.com/release-notes/
  • Docker 常见问题:https://docs.docker.com/engine/faq/
  • Docker 远端应用 API:https://docs.docker.com/develop/sdk/

3 Docker简介

3.1 Docker是什么?

  • Docker 开源的应用容器引擎,使用 Go 语言 进行开发实现;
  • 基于 Linux 内核的cgroupnamespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离;
  • 属于 操作系统层面的虚拟化技术;
  • 由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器;
  • 使用客户端-服务器 (C/S) 架构模式,使用远程 API 来管理和创建 Docker 容器;
  • 是实现容器技术的一种工具;
  • 还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔
离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻
便、快捷

3.2 Docker应用场景

  • Web 应用的自动化打包和发布;
  • 自动化测试和持续集成、发布;
  • 组建微服务架构,通过多个容器,一台机器可以跑多个服务,因此在本机可以模拟出微服务架构。

3.3 Docker架构

  • 架构图:

Docker笔记1 | Docker学习和简介_第1张图片

架构图包含:客户端Client、Docker daemon、仓库Registry;
输入命令的工具称之为客户端Client,当在客户端输入命令时,命令会发送到docker所在主机的daemon进程,由该进程执行命令。当执行的是创建容器的命令时,如果对应的镜像不存在于本地,那么daemon会向远程docker仓库请求下载镜像,等镜像下载到本地后在创建容器。

  • 命令图:

Docker笔记1 | Docker学习和简介_第2张图片

3.3 Docker的优势

优势 说明
更高效的利用系统资源 不需要进行硬件虚拟以及运行完整操作系统等额外开销
更快速的启动时间 运行于宿主内核,无需启动完整的操作系统
一致的运行环境 提供了除内核外完整的运行时环境,确保了应用运行环境一致性
持续交付和部署 定制应用镜像来实现持续集成、持续交付、部署。
更轻松的迁移 在多平台上运行
更轻松的维护和扩展 分层存储以及镜像的技术

3.3 与传统虚拟机的区别

Docker笔记1 | Docker学习和简介_第3张图片

特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为 MB 一般为 GB
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般几十个

你可能感兴趣的:(#,Docker,#,Docker入门到实践,docker,笔记,学习)