首页 > 其他分享 >docker镜像所使用到的COW写时复制技术是什么

docker镜像所使用到的COW写时复制技术是什么

时间:2024-08-30 16:53:25浏览次数:11  
标签:副本 COW 指向 修改 复制技术 内存 进程 操作 docker

copy  on  write  简单来说,所有的读操作都是指向一份内存地址,共享这些数据,节省内存空间。

如果有进程要对数据进行写操作,系统会检测到这个行为,将数据复制一份出来,给这个进程进行写操作。其他进程继续共享原来的没有修改的。写操作的进程指针指向新的副本。

COW 的基本原理可以概括为以下几个步骤:

  1. 共享资源:初始状态下,多个进程或线程共享同一份资源(例如内存页面)。这些进程或线程都指向相同的内存区域,内容是相同的。

  2. 写操作触发:当其中一个进程尝试修改共享资源时,系统检测到这个写操作,并采取措施防止修改影响到其他进程。

  3. 复制资源:系统将需要修改的部分复制到一个新的内存区域,并将修改进程指向这个新的副本。这样,原始资源保持不变,其他进程仍然可以访问未被修改的原始资源。

  4. 更新引用:修改进程现在指向新的副本,而其他进程仍然指向原始资源。

标签:副本,COW,指向,修改,复制技术,内存,进程,操作,docker
From: https://blog.csdn.net/2401_84019227/article/details/141721582

相关文章

  • docker-compose安装
    docker-compose离线安装版本对应docker-compose1.x对应dockerengine1.12及以上docker-compose2.x对应dockerengine20.10.0及以上下载2.25版本的只有2.20版本以上支持include特性sudocurl-L"https://github.com/docker/compose/releases/download/v2.25.0/docker......
  • 两句话讲清楚离线安装docker
    两句话讲清楚离线安装docker目录两句话讲清楚离线安装docker写在前面解决方案写在前面背景:银河麒麟、离线环境,装吧,一装一个不吱声。参考链接:https://blog.csdn.net/zhaogangyyxf/article/details/141328640准备:docker安装包:文件类型是一个压缩包。一般是要去docker......
  • vmware Docker 设置代理
    vmwareDocker设置代理到宿主机的代理软件添加配置获取宿主机的ip在windows上执行ipconfig看到vim/usr/lib/systemd/system/docker.service在[Service]处添加以下两行信息,将流量代理给宿主机的7890端口出外网,ip换成你自己的,配置成虚拟机的网关地址Environment="HTT......
  • 部署Harbor、部署Docker-compose、YAML文件
    一、Harbor部署1.验证python版本[root@docker2~]#python--version2.安装pip[root@docker2~]#yum-yinstallpython2-pip#由于版本过低,需要对其进行一个升级#更新pip[root@docker2~]#pipinstall--upgradepip3.指定版本号[root@docker2~]#pipinstall--upg......
  • docker compose
    它主要用于创建和管理容器,但它也支持在管理容器时构建镜像version: '3'设置version:'3'表示使用DockerCompose文件格式的第3版标准services:配置服务1基础配置2运行配置3网络端口配置4存储卷配置5环境配置6启动顺序配置7资源配置  docker-composeu......
  • 03-docker&mysql相关练习
    1、在docker中分别以后台方式和交互方式启动centos,对比启动后的容器状态,实现退出容器也能保持其运行状态。[root@CentOS~]#dockerrun-dcentos //后台方式76e8d53e483a1d53ad18c78ce4075fd9d72ecf01616d243f52218e1f40d03859[root@CentOS~]#dockerrun-itcentos //交互方......
  • debain系统安装docker
    1.更新软件包列表首先,更新系统的软件包列表:sudoapt-getupdate2.安装依赖包安装Docker所需的依赖包:sudoapt-getinstall\apt-transport-https\ca-certificates\curl\gnupg\lsb-release3.添加Docker的GPG密钥下载并添加Docker......
  • Linux | Ubuntu 16.04.4 通过docker安装单机FastDFS
    Ubuntu16.04.4通过docker安装单机fastdfs前言很久没有写技术播客了,这是一件很不应该的事情,做完了事情应该有沉淀的。我先说一点前情提要,公司的fastdfs突然就挂了,做过的操作就是日志文件太大了,所以把日志文件给删了,理论上这个动作应该不影响程序运行才对。然后tracker怎么都......
  • docker file
    用来构建镜像的,指令:FROM指定基础镜像,用于后续的指令构建。MAINTAINER指定Dockerfile的作者/维护者。(已弃用,推荐使用LABEL指令)LABEL添加镜像的元数据,使用键值对的形式。RUN在构建过程中在镜像中执行命令。下载库CMD指定容器创建时的默认命令。(可以被覆盖)指定......
  • 题解:P9938 [USACO21OPEN] Acowdemia II B
    前言:原来的tj干了一堆什么建图啊之类的,但其实不要这么复杂。注:下文中\(n\)是各成员名字列表。从\(K=1\)开整。如果情况是\(n_i<n_{i+1}<\cdots<n_j\),那么显然,咱就不知道关于成员\(n_i,\cdots,n_j\)的相对资历的信息。也许所有这帮成员都做出了相同的贡献。......