在讲docker之前,首先区分2个概念,容器和虚拟机。
容器:

虚拟机:

简单来说,容器虚拟化操作系统;虚拟机虚拟化硬件。

容器粒度更小更灵活;虚拟机包含资源更多更大。

docker就是用来做容器化的。

接着需要搞清楚3个东西:

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

镜像是为了创建容器的只读模板。

容器是镜像的一个可运行实例。

仓库是用来存储镜像的。

从面向对象来理解,仓库==工程,镜像==类,容器==实例。

docker的架构是C/S。

Docker daemon负责执行容器的创建、运行和分布以及其他对象的管理。

图中有Container、Image,为什么没有Repository?看到Registry了嘛,一个Registry可以包含多个Repository。docker提供了公共仓库,即docker hub,https://hub.docker.com/search?q=&type=image ,这里可以找到很多image。

这样就知道怎么玩了:

  • 从仓库pull一个镜像
  • docker执行run方法得到一个容器
  • 用户在容器里执行各种操作
  • docker执行build将容器转换为镜像
  • docker执行push等命令将镜像 push到仓库
  • 别人就可以用这个新的镜像了

有3个文件需要说明一下,镜像文件,即image。容器文件,容器实例本身就是文件。dockerfile,生成image的配置文件。

最后列几个常用命令:

docker image ls  # 列出本机的image
docker image pull  # 从仓库拉镜像
docker image build  # 创建image文件

docker container run  # 运行容器
docker container kill  # 终止容器运行

参考文档:

https://www.docker.com/resources/what-container

http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html

版权申明:本文为博主原创文章,转载请保留原文链接及作者。

白面系列 docker的更多相关文章

  1. Docker的asp.net core应用部署系列——docker pull 加速

    原文:Docker的asp.net core应用部署系列--docker pull 加速 版权声明:本文为博主原创文章,随意转载. https://blog.csdn.net/Michel4Liu/a ...

  2. Elasticsearch使用系列-Docker搭建Elasticsearch集群

    Elasticsearch使用系列-ES简介和环境搭建 Elasticsearch使用系列-ES增删查改基本操作+ik分词 Elasticsearch使用系列-基本查询和聚合查询+sql插件 Elas ...

  3. [52ABP实战课程系列]Docker&Ubuntu从入门到实战开课啦~

    任何的课程都逃不开理论的支持 久等了各位,在Asp.NET Core2.0 项目实战入门视频课程结束后,根据发起的投票信息.Docker 排在首位.按照结果,我们开始进行Docker视频课程的录制. ...

  4. 菜鸟系列docker——docker基本概念(1)

    docker基本概念 1.准备 这里先介绍容器技术,后续再介绍docker.docker是容器的一种,除docker以外,还存在coreos.不过在当前趋势下容器和docker基本上可以划为等号了. ...

  5. Docker深入浅出系列 | Docker Compose多容器实战

    目录 前期准备 Docker Compose是什么 为什么要用Docker Compose Docker Compose使用场景 Docker Compose安装 Compose Yaml文件结构 C ...

  6. 菜鸟系列docker——docker镜像下(5)

    1. docker镜像构建 该章节主要介绍2种构建docker镜像的方式.当然,当前基本上需要的基础镜像都有,直接使用即可.例如数据库.中间件之类的,只需要拿来使用即可,但是依然存在需要开发者构建镜像 ...

  7. 菜鸟系列docker——docker镜像中(4)

    docker镜像命令 该章节主要介绍docker image相关命令实践操作,建议都一起跑一边 1. docker images 列举本机docker镜像 [centos@jiliguo docker ...

  8. 菜鸟系列docker——docker镜像上(3)

    1. 镜像image 镜像和容器的关系就和安装包和程序的关系一样,有了镜像才可以启动容器,容器是镜像的一个运行实例. 1.1 镜像的结构 通过第二节仓库,可能很多看官已经查看到镜像是分层的,接下来将对 ...

  9. 菜鸟系列docker——docker仓库(2)

    1.仓库Registry 我们一般的镜像都是保存在仓库中,这样在其他服务器上可以直接从仓库获取镜像.仓库一般分为公共registry和私有registry.公共registry一般是Docker公司负 ...

随机推荐

  1. codeforces 922 B. Magic Forest(枚举、位运算(异或))

    题目链接:点击打开链接 Imp is in a magic forest, where xorangles grow (wut?) A xorangle of order n is such a no ...

  2. SPH流体模拟及液面重构问题

    关于流体特效模拟算法的简单描述,前提部分. 目前动画领域内的流体模拟主要是拉格朗日法无网格法和欧拉网格法,两种方法更有利弊. 我研究的主要是拉格朗日法中的SPH模型,即光滑粒子流体动力学模型. 粒子方 ...

  3. Spring Cloud(七):服务网关zuul过滤器

    上文介绍了Zuul的基本使用与路由功能,本文接着介绍Zuul的核心概念 -- Zuul过滤器(filter). Zuul的功能基本通过Zuul过滤器来实现(类比于Struts的拦截器,只是Struts ...

  4. 大神是如何学习 Go 语言之 Channel 实现原理精要

    转自: https://mp.weixin.qq.com/s/ElzD2dXWeldYkJmVVY6Djw 作者Draveness Go 语言中的管道 Channel 是一个非常有趣的数据结构,作为语 ...

  5. js + php服务器推送see(自定义推送时间)

    //javascript code var source = new EventSource("./main.php"); source.onmessage=function(ev ...

  6. Sparc V8

    Sparc V8指令 在sparc V8手册中p83(Table A-1 Mapping of Synthetic Instructions to SPARC Instructions)有合成指令sy ...

  7. 前端项目引入Echarts中的dataTool的正确方式

    使用echarts画箱线图时调用echarts.dataTool.prepareBoxplotData() 报错:"echarts.dataTool.prepareBoxplotData i ...

  8. GNU make doc - 函数总结

    $(value variable) 使用variable未展开状态的值 FOO = $(PATH) all: $(warning $(FOO)) $(warning $(value FOO)) #ou ...

  9. SharePoint 生产环境文件归档

    前言 最近,用户提出数据库大小太大,所以,希望把文件归档.至于归档,该怎么做呢? 正文 我们提出的解决方案,占用数据库最主要的就是各种文档,那就按照时间为限制,超过一年的文档全部备份,由用户的IT自行 ...

  10. codewars--js--Hamming Numbers

    问题描述: A Hamming number is a positive integer of the form 2i3j5k, for some non-negative integers i, j ...