Docker有三大核心概念:镜像(Image
)、容器(Container
)、仓库(Repository
)
1、镜像(Image
)
Docker镜像 是我们创建和运行Docker容器的基础,它类似于虚拟机的镜像,但其与ISO
等打包文件可大不相同!它实际上是一个特殊的文件系统。它包含了应用程序运行时的整个系统环境,其甚至包含了完整的root文件系统!有了镜像,我们可以完全不考虑环境依赖的问题,可以轻松进行系统迁移,这和java一次编译多次运行有异曲同工之妙!
在实际使用中,我们通常通过DockerFile来定制镜像。
2、容器(Container
)
Docker容器 是一个轻量级的沙盒,应用运行在不同的容器中从而实现隔离效果。容器的创建和运行是以镜像为基础的,容器可以被创建、销毁、启动和停止等。
3、仓库(Repository
)
Docker仓库类似于我们开发中的代码仓库,各种各样的镜像都在Docker仓库中存放。Docker仓库又分为公开仓库 (Public) 和私有仓库 (Private) 两种形式。
公开仓库:开放给所有用户使用,允许用户上传、下载公开的镜像。Docker官方也有一个公开仓库 Docker Hub,并且它是默认的 Registry。
另外,国内访问这些仓库速度都很慢,我们可以通过阿里云、网易云等提供的镜像加速器来快速的下载Docker Hub的镜像。
私有仓库:在本地创建一个只能自己访问的私有仓库。
Docker使用的是典型的C/S架构模式(客户端-服务器架构),此架构的核心理念在于解耦。如下图所示:
Docker的客户端使我们使用Docker的主要方式,其提供了一些可执行命令,通过这些命令可以与Docker的守护进程进行交互。
Docker守护进程作为服务器端接收客户端发来的请求,并负责实现构建、运行、分发容器的工作。
Registry 是镜像仓库,负责集中存储和分发镜像的服务。
参考:
1、rundreamsFly导师博客
2、Docker官方文档
如果喜欢这篇文章,点赞 收藏⭐ 关注 ✅ 哦,创作不易,感谢!