What Docker?简介

来源:互联网 发布:javascript post请求 编辑:程序博客网 时间:2024/06/10 13:58

Docker并不抽象,但是描述起来很抽象。

首先

暂且不说它的底层是如何实现的。只需要知道它比虚拟机先进:

  • 快速交付和部署
  • 高效虚拟化,更高的性能和效率
  • 方便迁徙和扩展
  • 更简单的管理

这里有个表,或许可以帮你:

特性容器虚拟机启动秒级分钟级硬盘使用一般为MB一般为GB性能接近原生弱于系统支持量单机支持上千个容器一般几十个

其次

了解几个概念就差不多算入门了:

  • 仓库(Repository)
  • 镜像(Image)
  • 容器(Container)

仓库

仓库是Image的来源。互联网上有很多仓库,有国内的、也有国外的,这里我主要说说正统的——Docker Hub,也是默认的,使用的时候或许需要翻个小墙。

在你做好一切准备工作后,只需要 docker pull <Image_name> ,就可以从Docker Hub上获取你想要的Image。当然准备工作需要一顿操作,这里不提,可以稍后看看我的另一篇文章。

镜像和容器

我打算把这两个概念放一块描述。如果把镜像当成一个类的话,容器更像是它new出来的一个又一个对象。镜像可以从仓库中获取,容器则是从镜像中生成。

容器的启动和暂停操作有: docker run <Image> 、 docker start <Image> 、docker restart <Image> 、 docker stop <Image> 。

再次

让我阐述一下我对docker容器本质的理解。

Docker引擎之上可以运行很多镜像从而形成一个的容器,镜像包括操作系统、安装的软件,但形成的容器本质上还是基于linux内核的。于是,你可以通过连接容器(docker attach <container> )运行shell指令。

好吧,我用一个例子说明。你打算安装一个包含nodejs环境的docker容器,你可以从docker hub上获取操作系统( docker pull <Image> ),比如Ubuntu、CentOS等等,然后创建一个容器( docker run <Image> ),在连接到你的容器,也就是操作系统里,就可以进行安装nodejs的操作了,安装好nodejs后,你可以通过 挂载 途径把你的nodejs项目放入docker容器里,运行shell指令让项目运行起来,测试无误后,可以通过迁徙的方法把它部署到其它支持docker环境上。

上面的一系列的操作都可以写进一个Dockerfile的文本里,生成一个属于你自己的Image,分享给其他人,别人下载到本机上,可以通过 docker build -t <image_name> . 指令构建改docker镜像到本机上。

最后

不知道你四不四弄清楚或者更了解docker了。如果没,推荐 一本书 给你;如果弄清楚了,分享我自己收集的一份docker指令集给你,有点粗略,因为还没有整理好。

docke指令集
0 0
原创粉丝点击