镜像(Image)
很多人在学习docker的时候都是一头雾水,好多东西都有镜像的概念。比如,我们安装系统的.iso文件,其实就是镜像,这里你可以把镜像认为是一种模板。
我们可以使用docker根据这个模板创建容器来运行,其实更可以理解为,镜像是好比github上的仓库一样,我们可以克隆下来源代码然后运行,运行起来的代码可以是一个网站、一个应用程序,这就可以叫做容器。
说白了,镜像就是一堆静态的模板,运行起来的镜像就是容器。镜像一般需要我们拉取下来,是只读的,这跟我们克隆github上的仓库是一样的。
docker镜像中有分层的概念,就是一个镜像可能基于好几个镜像,比如一个web运行环境可能需要操作系统ubuntu、数据库mysql、.net core runtime运行时,那我们拉取的这个镜像就会包好这好几个镜像,这就好像打包好的运行环境一样,直接就拉下来一个小电脑一样。
容器(Container)
当我们拉取了一个镜像,然后run一下,就会根据这个镜像运行出来一个容器,运行的容器就好像我们的应用程序一样,可以访问可以停止,我们运用多次run命令,就运行了很多docker容器,也可以说是镜像的实例。从这个角度来看,我们可以把镜像看作是类,容器看作new出来的实例,也是很合适的。
仓库(Repository)
存放镜像的地方就是仓库,就好比存放代码的地方是github一样,我们就把github称为代码的仓库,github算是最大的仓库。那么存放docker镜像的地方我们叫做dockerhub,是docker的中央仓库。
其实已经有dockerhub这个网站了,这就是存放docker镜像的官方仓库,好多官方的也保存在这里,保证了镜像的安全性和可靠性,我们可以从上边拉取一下镜像来运行我们的软件。
当然,我们也可以制作好自己的镜像推送上去,不过这些肯定是要官方审核的,防止有些人写入一些恶意代码。不过我们可以推到自己的dockerhub上去,供自己使用,这个就好像我们的github账号一样,属于私有镜像了。
以上是关于docker镜像容器仓库对比介绍,西部数码的容器云是通过docker技术,在集群服务器上部署容器服务实现,拥有上万Linux镜像,功能强大、简单易用,可轻松作集群服务,自由搭建私有网络,支持广播多播通信。
高性价比的容器云产品链接 https://www.west.cn/paas/container/