从本篇博客开始,进行目前很火的容器化技术docker的学习。记录下我在学习过程中的一些思考和总结。对于docker,由于我是一个小白,所以更多的是以一个小白的视角来理解和学习docker。有不足的地方,欢迎大神指导。
1. docker的优势
在网上看了一些docker的资料,讲了很多docker的优势,大体上有一下几个方面
- 更高效的利用系统资源,是因为docker是基于宿主机linux内核运行的,docker本身是没有,这样的docker很轻,占据的资源很少
- 更快速的启动时间,这个我的理解是由于docker本身轻量化,所以可以更快速启动
- 一致的运行环境,这点我是最看重的,环境的一致性,对于程序员很重要,往往一些bug是环境导致的,还不知道怎么处理,需要花费很多的时间去解决。效果也往往不理想
- 持续支付和部署,这个感觉和运维关系密切,我的理解是 程序和对应的环境打成镜像后,可以不停进行交付和部署
- 更轻松的维护和拓展,我理解这个也是运维方面的优势
2. docker的基础概念
初步了解docker的架构,才会涉及到架构中的出现的一些基础概念,docker架构图我百度到一个,图片如下:
图中涉及了三个docker的基础概念。 镜像,容器,仓库。
- 镜像(Images):docker镜像是用来创建容器的模板,相当于Java语言中的类的作用,一个镜像可以创建很多的容器。任何容器都是有镜像创建得来的
- 容器(container):容器是docker通过镜像创建的独立运行的一个或者一组运用,容器可以被创建、启动、停止、删除、暂停等
- 仓库(Registry):类似于Git的作用,Git是存放代码的仓库,docker的Registry是存放docker镜像的仓库,Registry有公共仓库和私有仓库两种,类似GitHub和gitlab。
基本信息总结完成,简单概括一下,docker是一项容器技术,为我们提供了很多便利。可以更好的利用服务器资源;缩减运用的启动时间;保证开发,测试,生产的环境一致性;服务打包成镜像后,镜像中包含了服务运行所需要的所有环境,可以一次打包,持续交付与部署;更轻松的维护和扩容。docker有三个基本的概念,分别是:镜像,容器,仓库。镜像是服务打包后的静态包,相当于Java语言中的类的概念。容器是镜像创建出来的,具备状态,相当于Java中的对象。仓库是用来存放镜像的地方,相当于Git!
3. docker官方网站
docker有三个重要的网站,在这里也记录一下,分别是:官网,文档中心,docker hub
1、官网 Home - Dockerhttps://www.docker.com/
3、docker hub Docker Hubhttps://hub.docker.com/