前言:

关于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等

发表评论

您的电子邮箱地址不会被公开。