Docker基础简介
Docker 是什么
首先 Docker 是一个在 2013 年开源的应用程序并且是一个基于 go 语言编写是
一个开源的 pass 服务(Platform as a Service,平台即服务的缩写),go 语言是由
google 开发,docker 公司最早叫 dotCloud 后由于 Docker 开源后大受欢迎就将公 司改名为 Docker Inc,总部位于美国加州的旧金山,Docker 是基于 linux 内核实 现,Docker 最早采用 LXC 技术(LinuX Container 的简写,LXC 是 Linux 原生支持的
容器技术,可以提供轻量级的虚拟化,可以说 docker 就是基于 LXC 发展起来
的,提供 LXC 的高级封装,发展标准的配置方法),而虚拟化技术 KVM(Kernelbased Virtual Machine) 基于模块实现,Docker 后改为自己研发并开源的 runc 技 术运行容器。
Docker 相比虚拟机的交付速度更快,资源消耗更低,Docker 采用客户端/服 务端架构,使用远程 API 来管理和创建 Docker 容器,其可以轻松的创建一个轻
量级的、可移植的、自给自足的容器,docker 的三大理念是 build(构建)、
ship(运输)、 run(运行),Docker 遵从 apache 2.0 协议,并通过(namespace 及
cgroup 等)来提供容器的资源隔离与安全保障等,所以 Docke 容器在运行时不
需要类似虚拟机(空运行的虚拟机占用物理机 6-8%性能)的额外资源开销,因
此可以大幅提高资源利用率,总而言之 Docker 是一种用了新颖方式实现的轻量级
虚拟机.类似于 VM 但是在原理和应用上和 VM 的差别还是很大的,并且 docker
的专业叫法是应用容器(Application Container)。
Docker 的组成
https://docs.docker.com/engine/docker-overview/
Docker 主机(Host):一个物理机或虚拟机,用于运行 Docker 服务进程和容器。
Docker 服务端(Server):Docker 守护进程,运行 docker 容器。
Docker 客户端(Client):客户端使用 docker 命令或其他工具调用 docker API。
Docker 仓库(Registry): 保存镜像的仓库,类似于 git 或 svn 这样的版本控制系统。
Docker 镜像(Images):镜像可以理解为创建实例使用的模板。
Docker 容器(Container): 容器是从镜像生成对外提供服务的一个或一组服务。