首页 > 其他分享 >## docker volume

## docker volume

时间:2022-11-30 23:33:56浏览次数:45  
标签:container ## volume host docker my 目录

docker volume

Docker的数据持久化主要有两种方式:

bind mount
volume

Docker的数据持久化即使数据不随着container的结束而结束,数据存在于host机器上——要么存在于host的某个指定目录中(使用bind mount),

要么使用docker自己管理的volume(/var/lib/docker/volumes下)。

bind mount

用于将host机器的目录mount到container中

将host机器上/data/host-data目录mount到container中的/container-data目录

docker run -it -v /data/host-dava:/container-data alpine sh
  • host机器的目录路径必须为全路径
  • 如果host机器上的目录不存在,docker会自动创建该目录
  • 如果container中的目录不存在,docker会自动创建该目录
  • 如果container中的目录已经有内容,那么docker会使用host上的目录将其覆盖掉

volume

volume也是绕过container的文件系统,直接将数据写到host机器上,只是volume是被docker管理的,

docker下所有的volume都在host机器上的指定目录下/var/lib/docker/volumes

将my-volume挂载到container中的/mydata目录:

docker run -it -v my-volume:/mydata alpine sh

# 查看volume 信息
[root@localhost data]# docker volume  ls
DRIVER    VOLUME NAME
local     my-volume
[root@localhost data]# docker volume  inspect my-volume
[
    {
        "CreatedAt": "2022-03-11T13:20:26+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/my-volume/_data",
        "Name": "my-volume",
        "Options": null,
        "Scope": "local"
    }
]

# 创建volume 
docker volume create my-volume-2

如果my-volume不存在,那么docker会自动创建my-volume,然后再挂载

与bind mount不同的是,

  • 如果volume是空的而container中的目录有内容,那么docker会将container目录中的内容拷贝到volume中,
  • 但是如果volume中已经有内容,则会将container中的目录覆盖。

标签:container,##,volume,host,docker,my,目录
From: https://www.cnblogs.com/wl30564/p/16940171.html

相关文章

  • Python中的六种基本数据类型
    Python中分为六种基本数据类型不可变类型(又叫静态数据类型,没有增删改操作):数字(number)、字符串(string)、元组(tuple)可变类型(又叫动态数据类型,支持增删改操作):列表(list......
  • Centos7搭建gitlab
    1·、安装ssh服务:yuminstall-ycurl policycoreutils-pythonopenssh-server   2、启动ssh服务并设置为开机自启:systemctlenablesshdsystemctlstart......
  • sqli-labs less1~less5
    less1#判断出为字符型注入http://7a32dad4-e2fd-4bfd-adf1-29afc1328b1f.node4.buuoj.cn/Less-1/?id=1and1=1--+http://7a32dad4-e2fd-4bfd-adf1-29afc1328b1f.node4.......
  • Python基本语法
    Python基本语法字面量掌握字面量的含义代码中,被写在代码中的固定的值,称之为字面量常见的字面量类型我们目前了解:整数、浮点数、字符串这三类即可基于print语句完成......
  • MySQL进阶实战7,查询的执行过程
    一、拆分查询将大查询拆分成小查询,每个查询功能完全一样,只是一小部分,每次只返回一小部分查询结果。比如在删除旧数据的时候,如果用一个大的语句一次性删的话,则可能需要一次性......
  • 【LeeCode】39. 组合总和
    【题目描述】给你一个 无重复元素 的整数数组 ​​candidates​​​ 和一个目标整数 ​​target​​​ ,找出 ​​candidates​​​ 中可以使数字和为目标数 ​​ta......
  • Pyinstaller 打包图片方法
    前戏​​Pyinstaller​​ 可以用来将python程序打包成独立可执行程序,让python程序能在没有装python环境的机器上运行。有时候用python写了一个小程序,但是共享给别人时,......
  • 用51单片机动态数码管显示数字。
    实现8个数码管依次显示12345678数字用stc生成的1ms的延时函数,并通过快速的循环12345678实现其让我们看着像同时显示这些数字,并通过延时1ms,将p0口清零达到消影的效果。同时将......
  • 【MySQL】Federated引擎与Federated Server访问远程数据
    文中使用的MySQL版本为5.6。之前我们有讲过在Oracle数据库中关于远程数据库的访问可以使用DBLinked来实现,那在MySQL中是否也存在类似的方式呢?答案是肯定的,在MySQL中若想访问......
  • 1、安装TVM
    环境:腾讯云UbuntuServer20.04LTS64bit1、安装gitsudoapt-getinstallgit2、安装vimsudoapt-getinstallvim3、安装gcc11、g++11sudoapt-getinstal......