Docker Volume 数据卷

Volume 的作用

Docker的数据持久化主要使用Volume。
Docker的数据持久化即使数据不随着Container的结束而结束,数据存在于host机器上。

使用Volume的优势

  • Volume可以在容器之间,以及容器和主机之间共享和重用数据。
  • Volume在某一挂载的位置被修改,所以使用该Volume的地方都会同时更新。
  • Volume的大小不会被加到容器本身上,存储空间是独立于容器的。
  • Volume会一直存在,直到没有任何容器使用它,才能使用命令 docker volume rm [volumes name] 删除数据卷。

如何使用Volume

Volume也是绕过Container的文件系统,直接将数据写到host机器上,只是Volume是被Docker管理的,Docker下所有的Volume都在host机器上的指定目录下/var/lib/docker/volumes。

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

➜  ~ docker run -it -v my-volume:/mydata hello-world

查看Volume信息

➜  ~ docker volume inspect my-volume
[
    {
        "CreatedAt": "2020-08-12T08:12:44Z",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/my-volume/_data",
        "Name": "my-volume",
        "Options": null,
        "Scope": "local"
    }
]

可以看到,Volume在host机器的目录为/var/lib/docker/volumes/my-volume/_data。
此时,如果my-volume不存在,那么Docker会自动创建my-volume,然后再挂载。

创建匿名Volume

也可以不指定host上的Volume,将匿名Volume挂载到Container中的/mydata目录:

➜  ~ docker run -it -v /mydata hello-world

创建命名的Volume

docker volume create --name [volumes name]

➜  ~ docker volume create --name my-data

查看所有数据卷,可看到自己创建的Volume my-data。

➜  ~ docker volume ls
local               my-data
local               my-volume

查看数据卷

登录到docker虚拟机中查看数据卷

执行:

➜  ~ screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

然后你会看到一个新的命令行,请按下回车,此时你就在Docker host虚拟机中了。

就是my-volume这个Volume的

➜  ~ cd /var/lib/docker/volumes/my-volume/_data
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值