Docker的基本组成:镜像、容器、仓库。

什么是镜像?

(1)镜像:

· 从面向角度类比:镜像=java的“类”。

· 镜像就是一个只读的模板(不能“直接”运行,只能“复制”成可运行容器)。

· 一个镜像可以创造出多个容器。


什么是容器?

(2)容器:

· 从面向角度类比:容器=java里new出来的对象。

· 容器是镜像创建出来的能独立运行的环境(比如容器里你装了Python3.9但宿主机装了Python3.7,不影响容器跑Python程序)。它可以启动,停止,删除,且相互隔离(比如你开了2个容器,其中一个崩了也不影响另一个)。

总结:

“镜像”打包好的“系统模板+应用”,是容器“原材料,能重复生成多个容器。

“容器”就是用镜像“装”起来,能独立跑应用的隔离环境。


什么是仓库?

(3)仓库:

· 仓库:集中存放镜像文件的地方。

· 类比:GitHub仓库(用于存放代码项目)。

· Docker官方的公共仓库叫Docker Hub

仓库分类:

· 公开仓库:如刚刚说的Docker Hub(http://hub.docker.com)

· 私有仓库:只有自己和团队才能访问存放自己的镜像。


Docker系统架构

Docker系统架构

Docker的工作原理:

Client发送命令[run/build/pull]给Dockerdeamon(守护进程),然后它检擦是否本地存在images。若存在,直接基于该镜像images创建并运行容器Containers;若不存在,需要远程仓库Registry拉去镜像,再创建运行容器。

点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)