容器技术2-镜像与容器储存

目录

一、镜像制作

1、ddocker build

2、docker commit

二、镜像存储

1、公共仓库

2、私有仓库

三、镜像使用

四、容器存储

1、镜像元数据

2、存储驱动

3、数据卷


一、镜像制作

1、ddocker build

基于 Dockerfile 自动构建镜像

其机制为:每一行都会基于上一的中间容器来执行对应的修改命令,然后通过 docker build 提交,经过一次次循环,最终提交成为目标镜像。

Dockerfile 示例:

FROM ubuntu:15.04
COPY . /app
RUN make /app
CMD python /app/app.py

Dockerfile 中的每一行指令(COPY、RUN、CMD)都会生成新的一层,叠加在上一个指令生成的文件系统之上,最后所有镜像层叠加就构成了镜像的文件系统。

2、docker commit

首先使用某一镜像启动容器,进入容器中完成需要的操作,最后在宿主机上执行 docker commit 命令,该命令会将此时的容器打包成一个新的镜像。

二、镜像存储

分为公共仓库和私有仓库

1、公共仓库

面向整个互联网用户,典型的代表为 Docker Hub

2、私有仓库

在一定范围内可访问的镜像仓库,典型的代表为 Harbor,Docker Hub也支持设置私有仓库

三、镜像使用

常用命令 docker pull/push

其他命令操作详细用法参考官方文档:

https://docs.docker.com/engine/reference/commandline/images/

四、容器存储

1、镜像元数据

在 Linux 系统中 Docker 的数据默认存放在/var/lib/docker 中

镜像每一层的 ID 是该文件内容的哈希校验值,作为该层的唯一标识。

2、存储驱动

理想情况下,使用挂载卷来存储高读写的目录,很少将数据直接写入容器的可写层。 但是,总有些特殊需求需要直接写入容器的可写层。这时候就需要存储驱动来作为容器和宿主机之间的媒介。Docker 依靠驱动技术来管理镜像和运行它们的容器间的存储和交互。

根据不同的场景选择合弁的存储驱动,目前 Docker 主要支持 AUFS、BtrFS、Device Mapper、OverlayFS、ZFS 五种存储驱动。

3、数据卷

文件系统的改动都是发生在最上面的可读写层,在容器的生命周期内,它是持续的,包括容器被停止后。但是,当容器被删除后,该数据层也随之被删除了。

Docker 采用数据卷(Volume)的形式向容器提供持久化存储,数据卷是持久化的,不会依赖于容器的生命周期,绑定挂载(Bind Mounts)依赖于主机的目录结构,但数据卷是由 Docker 管理。

Docker 主机上数据卷的挂载方式:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/243955.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上门回收小程序,打造回收新模式

近年来,我国一直秉持着环保绿色的发展理念,为了减少资源浪费,旧物回收成为了人们处理废弃物品的方式。目前,我国回收市场规模大约能达到3.58亿元,在我国经济的稳定增长和环保意识的提高下,回收市场规模还将…

Elastic Observability 8.12:AI 助手、SLO 和移动 APM 支持的正式发布

作者:来自 Elastic Tom Grabowski, Akhilesh Pokhariyal Elastic Observability 8.12 宣布 AI Assistant 全面上市 (正式发布)、服务级别目标 (SLO) 和移动 APM 支持: 服务级别目标 (service level objective - SLO):现在正式发布版允许 SRE…

STL之map【有序哈希表】使用方法

这里写目录标题 map【有序哈希表】使用方法1.头文件:2.创建map:3.添加键值对:4.查找键值对:5.遍历键-值对:5.综合示例:班级学生 map【有序哈希表】使用方法 话不多说,接着讲map用法: map:映射&#xff0c…

AI分割一切模型SAM(Segment Anything Model)的C++部署

2023年最火爆的分割模型莫过于SAM,截止今天2024年1月19日,github上的star已经达到了41.7k的惊人数量。下面我们来体会一下如何运行这个模型,以及如何用C部署这个模型。 检查cuda环境 我的Cuda版本是12.0.1,如下, Cudn…

【江科大】STM32:中断系统(理论)

文章目录 中断系统为什么要使用中断中断优先级中断嵌套STM32的中断系统如何管理这些中断NVIC的结构![请添加图片描述](https://img-blog.csdnimg.cn/c77b038fd63a4ddfbcd3b86f6dfe596b.png) 优先级窗口看门狗(WWDG):外部中断模块的特性&#…

K8S搭建(centos)四、安装K8S

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

i18n多国语言Internationalization的动态实现

一、数据动态的更新 在上一篇i18n多国语言Internationalization的实现-CSDN博客,可能会遇到一个问题,我们在进行英文或中文切换时,并没有办法对当前的数据进行动态的更新。指的是什么意思呢?当前app.js当中一个组件内容&#xff…

ESP32-HTTP_webServer库(Arduino)

ESP32-HTTP 介绍 ESP32是一款功能强大的微控制器,具有丰富的网络和通信功能。其中之一就是支持HTTP协议,这使得ESP32可以用于创建Web服务器。 HTTP是什么? HTTP(Hyper Text Transfer Protocol),即超文本传…

STM32标准库开发——串口发送/单字节接收

USART基本结构 串口发送信息 启动串口一的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);初始化对应串口一的时钟,引脚,将TX引脚设置为复用推挽输出。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitTypeDef GPIO_In…

leetcode—图 岛屿数量

岛屿数量 给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网…

鸿蒙开发(五)鸿蒙UI开发概览

从用户角度来讲,一个软件拥有好看的UI,那是锦上添花的事情。再精确的算法,再厉害的策略,最终都得通过UI展现给用户并且跟用户交互。那么,本篇一起学习下鸿蒙开发UI基础知识,认识下各种基本控件以及使用方式…

【设计模式】美团三面:你连装饰器都举不出例子?

什么是装饰器模式? 装饰器模式,这个设计模式其实和它的名字一样,非常容易理解。 想象一下,每天出门的时候,我们都会思考今天穿什么。睡**衣、睡裤加拖鞋,还是西装、领带加皮鞋?又或者说是&…

Mysql数据库DQL查询语言之表连接(联合查询)

表连接 关系字段:两表中有关联关系的字段 \关系字段:两表之间存在关系的字段 什么是表连接? 当我们的查询结果需要从多张表中获取时,此时应该让表之间建立连接,同时获取数据 内连接 特点:同时对连接双方做…

性能优化-HVX 指令介绍

「发表于知乎专栏《移动端算法优化》」 本文主要介绍了 HVX 指令相关的知识,包括 HVX 寄存器相关内容,指令的背景依赖,部分常用 intrinsic HVX 指令。具体指令的详细内容及使用还需阅读 HVX 的指令文档,以及细致的实践操作。 &…

(十二)Head first design patterns代理模式(c++)

代理模式 代理模式:创建一个proxy对象,并为这个对象提供替身或者占位符以对这个对象进行控制。 典型例子:智能指针... 例子:比如说有一个talk接口,所有的people需要实现talk接口。但有些人有唱歌技能。不能在talk接…

Flink中的容错机制

一.容错机制 在Flink中,有一套完整的容错机制来保证故障后的恢复,其中最重要的就是检查点。 1.1 检查点(Checkpoint) 在流处理中,我们可以用存档读档的思路,将之前某个时间点的所有状态保存下来&#xf…

JAVA 学习 面试(六)数据类型与方法

数据类型 基本数据类型 为什么float3.4报错 3.4 默认是浮点double类型的,如果赋值给float是向下转型,会出现精度缺失,,需要强制转换 Switch支持的数据类型? byte、short、int、char 、 enum 、 String 基本类型与包…

使用 Swift 代码优化项目编译速度

引言 软件的性能是评价一个软件质量的重要指标,尤其在今天这个时代,性能已成为大型项目不可或缺的考虑因素之一。对于用户量极大的软件,如网银系统、在线购物商城等,更是必须保证其高效稳定的性能。在这种背景下,优化…

Python-基础篇-类与对象/面向对象程序设计-py脚本

面向对象基础 第一个面向对象 class Cat:def eat(self):print("小猫爱吃鱼")def drink(self):print("小猫要喝水")# 创建猫对象 tom Cat()tom.eat() tom.drink()print(tom)addr id(tom) print("%x" % addr)新建两个猫对象 class Cat:def ea…

Dockerfile-xxxx

1、Dockerfile-server FROM openjdk:8-jdk-alpine WORKDIR /app COPY . . CMD java -Xms1536M -Xmx1536M -XX:UseG1GC -jar -Dlog4j2.formatMsgNoLookupstrue -Dloader.pathresources,lib -Duser.timezoneGMT-05 /app/server-main-1.0.0.jar 2、Dockerfile-bgd #FROM openjdk…