Docker,可以说是一个终端命令行的虚拟机,但更准确的说法,其实应该是一个虚拟环境。
(推荐教程:docker教程)
比如,你想要在PC上无缝使用Linux么?那么虚拟机并不是你唯一的出路,你还有Docker!我更愿意称Docker为一个容器,当然这只是Docker的一个狭义解释,Docker不止是一个容器。
Docker包含3个重要概念,分别是:
一、镜像(Image)
镜像是静态的、可以被用户互相分享的文件。
我们玩过双系统和虚拟机的人都知道,首先你需要一个.iso镜像,才能安装系统。Docker中的镜像也是这个东西,镜像是静态的,你不能对他操作,只能pull别人的镜像或者push自己的镜像。
二、容器(Container)
镜像是静态不可操作的,只能被分享和下载,那什么是能被操作的呢?
就是容器。容器可以理解为镜像的动态状态,也就是我们虚拟机中系统装好后的状态。其实这么说是不对的,容器最符合的描述应该是Linux的iso文件的Live CD模式。
比如我们玩双系统时都进入过Live CD模式,不安装系统而直接进入系统,Docker的容器就是这个概念,只不过更加轻量更加迅速便捷。但是Live CD的坏处就是你关机后作出的修改安装的软件全部gg,容器也是一样,一旦被直接推出,之前安装的gcc、vim等就会全部gg掉。
如果要保存修改,就需要将当前容器封装成一个新的镜像,这样下次启动这个新的镜像后之前作出的修改还都在。
三、仓库(Repository)
不知道各位对于git熟悉不熟悉,Docker中的仓库很像git的代码仓库,你可以pull自己之前push到自己仓库的镜像到本地,也可以pull别人push到公共仓库的镜像到自己本地,说白了就像百度云盘,你可以上传(push)自己做好环境的Docker上去,也可以下载(pull)自己云端的镜像到本地。
同时,我们知道百度云最大的特点就是分享,类比Docker,如果你得到百度云分享链接(别人的镜像名字、标签和别人的用户名),你还可以下载(pull)别人分享的镜像到自己的本地,别人也可以下载(pull)你的镜像,因为Docker仓库都是公共的。
当然,每个免费用户有一个名额把自己的一个镜像设为私有,也就是禁止被分享给别人。
以上是如何理解docer?的详细内容。更多信息请关注PHP中文网其他相关文章!