文中部分图片来源于网络,仅供个人学习使用,如侵犯了您的权益,请及时联系管理员进行删除。
Docker 是什么?
Docker是一种虚拟容器软件,和VM类似,但是比VM更加轻量级。
Docker 架构图
image-20210429164157.jpgDocker主要分为
客户端
、主机
、远程仓库
。
-
Docker客户端(Docker Client)
Docker客户端是Docker基本的用户交互接口。接收来自用户的命令,然后和Docker守护进程交互。
-
Docker主机(Docker Host)
-
Docker守护进程(Docker daemon)
Docker守护进程运行在宿主机上,宿主机和Docker容器相互隔离,不直接交互,而是通过Docker客户端。
-
Docker镜像(Docker Images)
Docker镜像是一个只读的模板,类似软件安装包。比如QQ软件、Java的Class文件、OS镜像。
-
Docker容器(Docker Containers)
Docker容器是根据镜像的运行状态,类似软件的运行状态。比如多开的QQ、Java对象、启动的虚拟机。
Docker容器内包含一个完整的最小运行操作系统内核,和不同应用层。
Docker容器之间是相互隔离的,且不能直接通信,类似VM软件里面的多个虚拟机。
比如有两个Tomcat容器,内部端口都可以是8080,只是宿主机上的端口不能一致而已。
-
-
Docker远程仓库(Docker Repository)
用于存放公共的镜像。类似Maven远程仓库、App应用商店。
Docker基本流程
image-20200728150055771.png客户端发送指令给Docker守护进程,守护进程判断本地是否存在镜像。
如果存在,则直接根据镜像启动容器,如果不存在,则从远程仓库中搜索。
如果远程仓库中存在,则将镜像下载到本地(默认下载lastest),然后根据下载的镜像启动容器。
如果远程仓库不存在,则返回错误信息。
网友评论