Docker 包括三个基本概念:

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

这三部分组成了Docker的整个生命周期,如下图所示,容器是由镜像实例化而来的,这和我们学习的面向对象的概念十分相似,我们可以把镜像想象成类,把容器想象成类经过实例化后的对象,这样就非常好理解镜像和容器的关系了。

Docker镜像

Docker的镜像概念类似于虚拟机里的镜像,是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。
例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了Mysql或用户需要的其它应用程序。

Docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统被称为UnionFS。镜像可以基于Dockerfile构建,Dockerfile是一个描述文件,里面包含若干条命令,每条命令都会对基础文件系统创建新的层次结构。

Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。

注:镜像是只读的,可以理解为静态文件。

Docker容器

Docker 利用容器来运行应用。

Docker容器是由Docker镜像创建的运行实例。Docker容器类似虚拟机,可以支持的操作包括启动,停止,删除等。每个容器间是相互隔离的,容器中会运行特定的应用,包含特定应用的代码及所需的依赖文件。

可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

注:相对于镜像来说容器是动态的,容器在启动的时候创建一层可写层作为最上层。

Docker仓库

如果你使用过git和github就很容易理解Docker的仓库概念。Docker 仓库的概念跟Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。

Docker 仓库是用来包含镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。Docker运行中使用的默认仓库是 Docker Hub 公共仓库。

仓库支持的操作类似git,当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

转载于:https://www.cnblogs.com/wdzhz/p/10973157.html

搭建Docker环境---Docker概述相关推荐

  1. 【整理】Linux服务器搭建网站环境

    [整理]Linux服务器搭建网站环境 Docker服务环境安装 window服务环境安装 搭建运行环境 网络配置 #JDK [1]yum 安装 [2]tar.gz 安装 [3]rpm命令安装(redH ...

  2. 深入浅出Docker(五):基于Fig搭建开发环境

    本文原创版权归 infoq 肖德时 所有,此处为技术收藏,如有再转,请于篇头保留原创作者及出处,以示尊重! 作者: 肖德时 原文: http://www.infoq.com/cn/articles/d ...

  3. [云原生专题-16]:容器 - 在Windows主机上搭建Docker环境

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  4. 在虚拟机端搭建lamp和通过docker技术在云服务器搭建lamp环境

    一.搭建LAMP环境--->部署WEB程序 1.LAMP环境作用(重点掌握) L:Linux操作系统,提供了项目部署时所需要的操作系统环境 A:Apache服务器:WEB应用程序的服务器,提供软 ...

  5. 正式环境docker部署hyperf_应用部署 - Docker Swarm 集群搭建 - 《Hyperf v1.1.1 开发文档》 - 书栈网 · BookStack...

    Docker Swarm 集群搭建 现阶段,Docker容器技术已经相当成熟,就算是中小型公司也可以基于 Gitlab.Aliyun镜像服务.Docker Swarm 轻松搭建自己的 Docker集群 ...

  6. docker搭建 LNMP 环境

    一.准备镜像 安装完docker后,更换完镜像源(docker的安装十分简单自行百度即可) 打开/etc/docker目录下的daemon.json 添加以下内容 { "registry-m ...

  7. 用Docker镜像搭建ELK环境

    之前在Windows上尝试过搭建ELK环境,并将MySQL或SQLServer中的数据导入到Elasticsearch中.现在用Docker提供的镜像可以快速的完成这一操作. 环境说明 系统:Wind ...

  8. 【5分钟系列】搭建基于docker环境搭建下springboot-mysql项目框架

    在云时代,开发者创建的应用必须要能很方便地在网络上传播,也就是说应用必须脱离底层物理硬件的显示:同时必须是"任何时间任何地点"可获取的.我们通常想要快速搭建一个项目框架,数据库的环 ...

  9. Docker 环境的快速搭建

    linux下安装 Docker 配置阿里云docker 源并安装 wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/ ...

最新文章

  1. python 替换字符串的方法replace()、正则re.sub()
  2. mockito mock void方法_一文让你快速上手 Mockito 单元测试框架(上)
  3. UWP 检测网络状态
  4. 玩转oracle 11g(29):检查操作系统版本和查询表中修改数据
  5. JavaScript | 将十进制转换为十六进制,反之亦然
  6. 计算机科学美国大学专业,美国大学Computer Science 计算机科学专业排名(转)...
  7. 单链表的逆置-C++实现(ok)
  8. bat 暂停一段时间_BAT面试问是否具备3年工作经验,这么回答绝了!
  9. 算法学习(9)-链表之链表栈
  10. 使用Java读写dbf文件【附源代码】
  11. android 远程管理,教你如何在Android上远程控制电脑
  12. 治理企业“数据悬河”,阿里云DataWorks全链路数据治理新品发布
  13. 分立式数码管循环显示数字0到9.
  14. Vue-Cli 3.0 + vue.config.js
  15. 阿里云视频直播视频存储回调功能的处理方法
  16. 成年人的清醒:一半是懂了,一半是算了
  17. AD——PCB布线实用技巧
  18. 微信之父张小龙:你说我是错的,那你最好证明你是对的!
  19. java流控_t-io小教程:tio-http内置的流控功能
  20. Elsevier期刊模板使用方法总结

热门文章

  1. 自学 HTML 和 CSS,有哪些好的教材和网站教程推荐?
  2. 1024,如果全世界程序员都消失了,会怎样?
  3. 如何创建一个Mybatis程序,实现对数据库的简单查询?
  4. java画笔覆盖在界面_Java画笔的简单实用方法
  5. sts 的js代码不变色_[黑科技] 使用 Laravel Livewire 来构建实时搜索功能(不使用一行 JS 代码)...
  6. 为什么word中插入对象会自动关闭word_你常常忽视的Word文本操作小技巧
  7. 404错误 iis thinkphp_关于ThinkPHP实现访问不存在的模块跳转到404页面的方法
  8. C语言学习笔记---时间函数clock()和time()
  9. VS2008程序发布的环境配置
  10. 【转】QT中窗口刷新事件的学习总结