Docker 教程 | 菜鸟教程 https://www.runoob.com/docker/docker-tutorial.html

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker 架构 | 菜鸟教程 https://www.runoob.com/docker/docker-architecture.html

Docker 架构

Docker 包括三个基本概念:

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

Docker 容器通过 Docker 镜像来创建。

容器与镜像的关系类似于面向对象编程中的对象与类。

Docker 面向对象
容器 对象
镜像

概念说明

Docker 镜像(Images)

Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。

Docker 容器(Container)

容器是独立运行的一个或一组应用,是镜像运行时的实体。

Docker 客户端(Client)

Docker 客户端通过命令行或者其他工具使用 Docker SDK (https://docs.docker.com/develop/sdk/) 与 Docker 的守护进程通信。

Docker 主机(Host)

一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。

Docker Registry

Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。

Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。

一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。

通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。

Docker Machine

Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

最新文章

  1. Fragment的startActivityForResult和Activity的startActivityForResult的区别
  2. Apache配置文件服务器
  3. 黑客入门之IP地址及常用命令
  4. [ActionScript 3.0] AS3实现图像径向转旋效果
  5. PHP面向对象基础知识总结
  6. SQL Server 跨库连接
  7. EasyUI DataGrid定制默认属性名称
  8. Angular - - ngApp、ngBind、ngBindHtml、ngNonBindable
  9. SQL Server ---T-SQl基本语句
  10. docker入门(二)容器与镜像的理解
  11. 配置使用dwr完成收邮件提示
  12. linux 常用监控命令备注
  13. hdu多校第4场E. Matrix from Arrays HDU 二维前缀和
  14. C语言几个输入函数的区别(史上最详细)
  15. Oracle hint之ORDERED和USE_NL
  16. 开发工具之Sublime编辑器
  17. spring mvc的工作原理
  18. 彻底弄懂JS事件委托的概念和作用
  19. Winform Chart
  20. PHP 打印前一天的时间

热门文章

  1. 手动安装minGW
  2. AxureRP_for_chorme的安装和使用方法
  3. Apache伪静态Rewrite详解
  4. FileZilla Server-Can’t access file错误解决方法
  5. hdu6053 TrickGCD 容斥原理
  6. [Python基础]Python文件处理小结
  7. datagrid多复选框
  8. MySQL Migration Toolkit启动报jre错误
  9. 使用BestSync同步软件与坚果云同步
  10. Collection 和 Collections的区别?