4.docker之基本三要素(镜像,容器,仓库)_容器镜像 要素-程序员宅基地

技术标签: docker组成  docker仓库  docker容器  docker镜像  docker  

docker主要由以下三大部分组成,镜像(image)、容器(container)、仓库(repository)。

1.镜像

Docker 镜像(Image)就是一个只读的模板,它可以是一个可运行软件(tomcat,mysql),也可以是一个系统(centos)。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。

 

2.容器

Docker 利用容器(Container)独立运行的一个或一组应用。容器是用镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。

 

3.仓库

仓库(Repository)是集中存放镜像文件的场所,类似GitHub存放项目代码一样,只不过Docker Hub是由来存镜像(image)的。仓库(Repository)和仓库注册服务器(Registry)是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag,类似版本号)。

仓库分为公开仓库(Public)和私有仓库(Private)两种形式。

最大的公开仓库是 Docker Hub(https://hub.docker.com/),存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云 等。

 

镜像和容器的关系

 

Docker的架构图

 

总结

Docker 本身是一个容器运行载体或称之为管理引擎。我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就似乎 image镜像文件。只有通过这个镜像文件才能生成 Docker 容器。image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。

image 文件生成的容器实例,本身也是一个文件,称为镜像文件。

一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器。

至于仓储,就是放了一堆镜像的地方,我们可以把镜像发布到仓储中,需要的时候从仓储中拉下来就可以了。

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_33309853/article/details/99711659

智能推荐

《谷歌和亚马逊如何做产品》读书笔记之五:赢在测试_shipping greatness:practical lessons on building a-程序员宅基地

文章浏览阅读721次。《谷歌和亚马逊如何做产品》读书笔记之五:赢在测试_shipping greatness:practical lessons on building and launching outstanding s

C语言|putchar()与printf()函数的区别_putchar和printf的区别-程序员宅基地

文章浏览阅读2.5k次,点赞21次,收藏13次。简单来说:putchar 只可以打印单个的字符 即 'A' 但是printf 可以打印各种类型 单个字符(%c),字符串(%s) 十进制整数(%d)换言之:printf 可以输出一个任意的字符串,还可以有参数,而putchar只能输出一个字符。并且,当打印单个字符的时候, printf("%c",'A') 相当于 putchar('A');简言之:printf 更牛逼,可以打印各种类型但是getchar,putchar只是处理字符的函数..._putchar和printf的区别

wordpress 文章页面 (single.php)_wordpress中基于类别id的多个single.php-程序员宅基地

文章浏览阅读2.1k次。<?php$id = get_the_ID();// 文章当前的 id$title = get_post($id)->post_title;$my_data = get_the_time('Y-m-d');$my_content = get_post($id)->post_content;?>_wordpress中基于类别id的多个single.php

需求分析说明书SRS-程序员宅基地

文章浏览阅读1.3w次,点赞16次,收藏137次。软件需求分析说明书1.引言1.1编写目的本文档的目的是详细地介绍停车场管理系统所包含的需求,以便客户能够确认产品的确切需求以及开发人员能够根据需求设计编码,以下叙述将结合文字描述,流程图来描述停车场管理系统的功能,性能,运行环境。1.2系统概述使用停车场管理系统,在停车场的出入口设置一套出入口管理设备,使停车场形成一个相对封闭的场所,用户进出停车场只需将注册个人信息并扫描二维码,系统即能瞬时完成检验、记录、核算、收费等工作,挡车道闸自动启闭,方便快捷地进行着停车场的管理。对出口管理员来讲,_需求分析说明书

php 与 oracle11g 的连接和基本操作_php oracle11-程序员宅基地

文章浏览阅读3.2k次。php 与 oracle11g 的连接和几百年操作<?php $conn = ocilogon('system','Oracle123','127.0.0.1:1521/orcl'); if (!$conn) { $Error = oci_error(); print htmlentities($Error['message']); exit; } el_php oracle11</div>

Spring Data JPA的自动更新_spring data jpa 更新数据-程序员宅基地

文章浏览阅读2.1k次,点赞2次,收藏6次。公司的项目后台架构是SpringBoot + Spring Date JPA,采用MySQL数据库。在工作刚开始时就遇到了一个奇怪的现象。在采用Date JPA查询完数据库之后,若改变了查询出的对象属性,那么数据库就会自动更新。比如查询出一个studentPO的name为“小明”,然后进行了一步studentPO.setName("小红")操作,再返回给前台,此时的数据库中的这个studentPO的name就会自己变成小红。但是我并没有调用updateBean方法去主动的更新这个对象,为什么它就会自动更新了_spring data jpa 更新数据

随便推点

基于STM32F407控制SG90舵机低速旋转程序_基于stm32控制舵机匀速旋转pid-程序员宅基地

文章浏览阅读4.3k次,点赞7次,收藏82次。基于STM32F407控制SG90舵机低速旋转程序最近学习STM32控制SG90舵机学习过程中发现舵机转速过快,无法平缓的转向指定角度在网上查找资料具体了解到舵机的转速与舵机的目标角度和舵机的当前角度的差值呈正相关下面这张图举个例子假设舵机在当前为90° 我们设置目标角度为180°舵机的转速=|(180°-90°)|*k, k为比例系数也就是舵机距离目标角度越近转速越慢,距离目标角度越远转速越快,所以我们看到舵机的起步一般非常快现在大概知道了转速快的原因,我的目标是让舵机可以平缓的运_基于stm32控制舵机匀速旋转pid

Linux 网络编程—— libnet 使用指南_libnet 发送raw4报错-程序员宅基地

文章浏览阅读7.8k次,点赞6次,收藏31次。概述通过《原始套接字实例:发送 UDP 数据包》的学习,我们组 UDP 数据包时常考虑字节流顺序、校验和计算等问题,有时候会比较繁琐,那么,有没有一种更简单的方法呢?答案是:借助 libnet 函数库。libnet 是一个小型的接口函数库,主要用 C 语言写成,提供了低层网络数据包的构造、处理和发送功能。libnet 的开发目的是:建立一个简单统_libnet 发送raw4报错

php5.2 中新的输入检查函数-程序员宅基地

文章浏览阅读178次。 在PHP 5.2最新版本中,在对输入检查的函数方面,多了新的功能,默认是开启的,减少了很多写代码的工作量,在IBM DW的http://www.ibm.com/developerworks/cn/opensource/os-php-v522/index.html上有很好的介绍,下面笔记并补充之过滤扩展功能有两种过滤器:Sanitizing 和 Logical。Sanitizing 过滤器只是..._php输入函数

android 按钮设计中state_selected属性-程序员宅基地

文章浏览阅读3.6k次。在android中,如果搞几个tab,然后想做到当移动到某个TAB的按钮上时,图片变一个颜色,比如为图片A,移走时,图片变成另外一个,可以设计如下: 也就是说,使用state_selected="true" 表明当被选择时,使用哪张图片了,很简单..._state_selected

SVN使用笔记_svn no such table:wcroot-程序员宅基地

文章浏览阅读809次。克隆仓库svn checkout http://www.example.com/reperstory查看仓库信息svn info查看提交记录svn log切换仓库远程地址svn switch --relocate 旧地址 新地址使用SVN尽量用可视化工具,命令行不如Git好用。_svn no such table:wcroot

语法规则_无效的表达式项public-程序员宅基地

文章浏览阅读699次。俗话说,无规矩不成方圆;C#是一种编程语言,当然也有自己的语法规则和命名规则,如同学习外语的语法一样。先说说变量的命名规则吧,一个变量的名字如同人的名字一样都用一定的意义,例如定义钢笔的价格: double x=12.3,和double pen_price=12.35,两者相_无效的表达式项public

推荐文章

热门文章

相关标签