前言:

关于docker,很久之前有学习过,但没有具体应用过,所以也忘得差不多了,最近想把博客部署到docker上,这样以后换服务器就不用弄环境了,一键部署就好了,所以在学习一遍。

什么是docker

 

官方 :Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。


个人理解 :docker是一个轻量级的虚拟机,但又不完全是虚拟机,它和虚拟机还是有一定区别的,相较于虚拟机docker启动更加快速,而且占用内存更小,m级别,而虚拟机是g级别,当然docker的隔离形式不如虚拟机的。但户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

Docker三大核心

仓库 :类似于git仓库,我们将我们的代码或应用放在仓库管理,docker的仓库也是如此,Docker 官方维护了一个公共仓库 Docker Hub。大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。
镜像 :类似于git仓库里的代码,他是一个静态的模板,有点类似于面向对象里的类,我们可以把仓库里的镜像拉到本地来使用,也可以把我们自己的镜像放到仓库里管理。
容器 :相当于一个实例化了的类,它是一个应用实例,可以理解为一个运行着的网站。

仓库,镜像和容器的关系

比如我们要实现一个nginx容器,首先要从仓库拉取nginx镜像,完后通过镜像生成一个nginx容器

当然这只是最简单的理解,不涉及一些私有仓库公共仓库,或者image的tag等

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。