首页 > 其他分享 >3 docker存储

3 docker存储

时间:2024-04-09 22:47:08浏览次数:11  
标签:容器 存储 data vloumes b1 docker data1

docker存储
docker镜像有多个只读层叠加而成,启动容器是,docker会加载只读镜像层,并在镜像栈顶部添加一个读写层
如果运行中的容器修改了现有的一个已经存在的文件,那该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本依然存在,只是被读写层中该文件的副本所隐藏此即“写时复制(cow)”机制.

volume于容器初始化之时即会创建,有base image提供的卷中的数据会于此期间完成复制;
volume的初衷时独立于容器的生命周期实现数据持久化,因此删除容器是既不会删除卷,也不会堆哪怕未被应用的卷做垃圾回收操作。
卷为docker提供了独立于容器的数据管理机制;

在容器中使用volums:分2类
1 docker-managed volums:
docker run -it -name web1 -v /data1 busybox:v1
2 bind-mount volume:
# docker run -it -name web2 -v host_dir:contaienr_dir busybox:v1
docker inspect web1

# docker run --name busy1 -it --rm -v /data/vloumes/b1:/data1 busybox
将虚拟机上的/data/vloumes/b1挂载到容器的/data1目录(容器内用df -h 可看到/data1目录挂载出来)
在虚拟机上的/data/vloumes/b1目录下新建index.html文件,在容器内的/data1目录下也可看到该index.html 
2个或多个容器共享存储卷:
# docker run --name busy2 -it --rm -v /data/vloumes/b1:/data2 busybox
在busy2容器中也可看到index.html,其共享了/data/vloumes/b1

 

标签:容器,存储,data,vloumes,b1,docker,data1
From: https://www.cnblogs.com/skyzy/p/18125043

相关文章

  • 4-1 dockerfile介绍
    dockerfile介绍一dockerfile概念dockerfile是自定义镜像的一套规则(自定义镜像)dockerfie由多条指令构成,Dockerfile中的每一条指令都会对应于Docker镜像中的每一层dockerfile的原理就是镜像分层:1Dockerfile中的每个指令都会创建一个新的镜像层(是一个临时的容器,执行完后将......
  • 1、docker基础及安装,镜像操作
    docker基础dockerarchitecture:dockerclient:dockerbuild、dockerpull、dockerrundocker_host:dockerdeamon:containers+imagesdockerregistry:dockerobjects:images、containers、networks、volumes、plugins镜像:静态的容器:动态,生命周期1、docker安装和使......
  • 0-1、docker
    Docker命令详解#docker--helpUsage:docker[OPTIONS]COMMAND[arg...]dockerdaemon[--help|...]docker[-h|--help|-v|--version]Aself-sufficientruntimeforcontainers.主要选项:-d:以后台进行方式运行容器-t:提供一个伪终端-......
  • docker踩坑之 device or resource busy
    问题描述linux服务器上运行了一个docker容器,在运行cp命令时报错dockercpredis.confmyadmin_redis:/data/redis.conf将服务器上的文件拷贝到docker容器内部时,报以下错误Errorresponsefromdaemon:Errorprocessingtarfile(exitstatus1):unlinkat/data/redi......
  • 4-3 docker隔离机制-cgroups
    ControlGroup控制组群使用CGroups限制这个环境的资源使用情况cgroup:比如一台16核32GB的机器上只让容器使用2核4GB。使用CGroups还可以为资源设置权重,计算使用量,操控任务(进程或线程)启停等;在/sys/fs/cgroup下面有很多如cpu、memory这样的子目录,也叫子系统,这些都是这台机器......
  • 4-2 docker隔离机制-namespace
    1、使用Namespaces实现了系统环境的隔离Docker实际上是在创建容器进程时,指定了这个进程所需要启用的一组Namespace参数,这样容器就只能看到当前Namespace所限定的资源、文件、设备、状态。而对于宿主机以及其他不相干的程序,就完全看不见了http://www.dockone.io/article/8148常......
  • 4-1 Docker容器实现原理
    Docker容器实现原理主要是namespace和cgroup控制资源的隔离。虽然Docker可透过Namespace的方式分隔出看似是独立的空间,然而Linux内核(Kernel)却不能Namespace,所以即使有多个Container,所有的systemcall其实都是通过主机的内核处理,这便为Docker留下了不可否认的安全问题。虚拟机......
  • 2-3、dockerfile之wordpress
    wordpress:4.2#cddocker-training/wordpress/#ls-a.license.txtwp-config-sample.phpwp-login.php..readme.htmlwp-contentwp-mail.phpDockerfilewp-activate.phpwp-cron.php......
  • 2-2、dockerfile之php-fpm,mysql
    dockerfile之php-fpm#cddocker-training/php-fpm/#lsDockerfilenginx_nginx.confsupervisor_nginx.confnginx_default.confphp_www.confsupervisor_php-fpm.conf各文件解释:nginx_nginx.conf替换默认的nginx.conf文件nginx_default.conf替换默......
  • CMD 批处理脚本自定义 UEFI 启动项,您需要使用 bcdedit 命令来操作 Windows 引导管理器
    CMD批处理脚本自定义UEFI启动项,您需要使用bcdedit命令来操作Windows引导管理器(BootConfigurationData,BCD)。BCD存储了计算机启动时所需的信息,包括可用的操作系统和启动选项。以下是一个简单的示例,演示如何使用CMD批处理脚本添加、修改和删除启动项:1.添加启动项要添......