Docker入门
本篇文档用于了解docker是什么,有些什么内容,不涉及docker指令用法
docker
将环境与程序一起发布,解决环境一致性的问题(docker镜像)
docker的核心思想,隔离,打包装箱,每个箱子相互隔离,通过隔离,充分利用服务器资源(docker容器)
docker整体结构示意图
Client:通过docker指令操作docker服务
Docker_Host:docker服务,通过docker守护进程来调度管理Container和Image
Registry:docker仓库,用于存放和管理Image
底层原理:Docker是Client-Server结构的系统,Docker的守护进程运行在宿主机上,通过Socket与客户端联通,DockerServer执行从DockerClient发出的指令
Docker与VM(虚拟机)
为什么要用docker而不是VM?因为docker比VM要小的多,也快得多
Docker比VM小,快的原因:
- Docker的抽象层比虚拟机少
- Docker用的是宿主机的操作系统内核,VM用的是虚拟机操作系统的内核,因此docker在创建新的容器时不需要像VM一样重新加载一个操作系统内核
注:操作系统与操作系统内核不是一个东西:内核仅仅是操作系统的一部分,是真正与硬件交互的那部分软件,与硬件交互包括读写硬盘、读写网盘、读写内存以及任何连接到系统中的硬件,除了与硬件交互外,内核还负责分配资源,分配什么资源呢?所谓资源就是硬件,比如CPU时间、内存、IO等等,这些都是资源。
docker指令
下图中是常见的docker指令,用于操作容器和镜像