What Docker?简介

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指令集
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值