基本概念问题
啥是Docker?
Docker 最初是 它是基于 dotCloud 公司多年云服务技术的一次革新,Docke最初实现是基于LXC,从 0.7 版本以后开始去除 LXC,转 而使用自行开发的 libcontainer,从 1.11 开始,则进一步演进为使用 runC 和 containerd。于 2013 年开源,主要项目代码在 GitHub 上进行维护。
- Docker就是一个优秀的软件容器平台。
- Docker使用Google公司推出的Go语言进行开发实现, 由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。
- Docker能够自动执行重复性任务,例如搭建和配置开发环境,从而解放了开发人员以便他们专注在真正重要的事情上:构建杰出的软件。
- Docker 在容器的基础上,进行了进一步的封装,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。Docker 技术比虚拟机技术格调更高,速度更快、性能更强。
为啥用Docker?
好处多多,别的不说一张表清晰明了。
特点 | 容器 | 虚拟机 |
启动速度 | 秒级 | 分钟级 |
硬盘占用 | 一般为 MB | 一般为 GB |
系统支持量 | 单机支持上千个容器 | 一般几十个 |
使用性能 | 接近原生 | 弱于 |
几个基本概念
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。
Docker 镜像(Images) | Docker 镜像是用于创建 Docker 容器的模板。 |
Docker 容器(Container) | 容器是独立运行的一个或一组应用。 |
Docker 客户端(Client) | Docker 客户端通过命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 与 Docker 的守护进程通信。 |
Docker 主机(Host) | 一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。 |
Docker 仓库(Registry) | Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。 Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。
|
Docker Machine | Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。 |
好好理解,笔记记在这里要消化掉O(∩_∩)O