Docker的基本概念
1、Registry
Registry是一个服务,它负责管理一个或多个Repository(仓库),而Repository还包含公共仓库(Public Repository)和私有仓库(Private Repository)。默认的Registry是Docker Hub,它管理了按照不同用途分类的很多公共仓库,任何人都可以到Docker Hub上查找自己需要的Image,或者可以使用docker search命令来搜索对应Image。
例如我们查询关键词hadoop,示例命令如下所示:
查询结果如下所示:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
sequenceiq/hadoop-docker An easy way to try Hadoop 428 [OK]
sequenceiq/hadoop-ubuntu An easy way to try Hadoop on Ubuntu 40 [OK]
uhopper/hadoop Base Hadoop image with dynamic configurati... 16 [OK]
ruo91/hadoop Apache hadoop 2.x - Pseudo-Distributed Mode 12 [OK]
harisekhon/hadoop Apache Hadoop (HDFS + Yarn, tags 2.5 - 2.7) 8 [OK]
gelog/hadoop Use at your own risk. 5 [OK]
athlinks/hadoop Distributed Highly Available Hadoop Cluste... 3 [OK]
dockmob/hadoop Docker images for Apache Hadoop (YARN, HDF... 3 [OK]
uhopper/hadoop-resourcemanager Hadoop resourcemanager 3 [OK]
harisekhon/hadoop-dev Apache Hadoop (HDFS + Yarn) + Dev Tools + ... 3 [OK]
izone/hadoop Hadoop 2.7.3 Ecosystem fully distributed, ... 3 [OK]
uhopper/hadoop-namenode Hadoop namenode 2 [OK]
singularities/hadoop Apache Hadoop 2 [OK]
uhopper/hadoop-datanode Hadoop datanode 2 [OK]
uhopper/hadoop-nodemanager Hadoop nodemanager 2 [OK]
lewuathe/hadoop-master Multiple node hadoop cluster on Docker. 2 [OK]
robingu/hadoop hadoop 2.7 1 [OK]
mcapitanio/hadoop Docker image running Hadoop in psedo-distr... 1 [OK]
takaomag/hadoop docker image of archlinux (hadoop) 1 [OK]
ymian/hadoop hadoop 0 [OK]
2breakfast/hadoop hadoop in docker 0 [OK]
ading1977/hadoop Docker image for multi-node hadoop cluster. 0 [OK]
meteogroup/hadoop Apache™ Hadoop® in a docker image. 0 [OK]
hegand/hadoop-base Hadoop base docker image 0 [OK]
elek/hadoop Base image for hadoop components (yarn/hdfs) 0 [OK]
上面可以看到,与hadoop相关的Image都被列出来了,可以根据自己的需要选择对应的Image下载并构建应用。
2、Image
Docker Image是Docker Container的基础,一个Image是对一个Root文件系统的执行变更操作的有序集合,也包括在运行时一个Container内部需要执行的参数的变化。
一个Image是静态的、无状态的,它具有不变性。如果想要修改一个Image,实际是重新创建了新的Image,在原来Image基础上修改后的一个副本。所以,往往我们制作一个Image的时候,可以基于已经存在的Image来构建新的的Image,然后Push到Repository中。
3、Repository
一个Repository是Docker Image的集合,它可以被Push到Registry而被共享,在Docker Hub就可以看到很多组织或个人贡献的Image,供大家共享。当然,你也可以将自己构建的Image Push到私有的Repository中。在Repository中不同的Image是通过tag来识别的,例如latest 、5.5.0等等。
4、Container
Container是一个Docker Image的运行时实例,从一个Image可以创建多个包含该应用的Container。一个Container包含如下几个部分:
-
- 一个Docker Image
- 执行环境
- 一个标准指令的集合
本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/7610567.html,如需转载请自行联系原作者