Volume简述
docker本身提供了一种机制,可以将主机上的某个目录与容器的某个目录(称为挂载点、或者叫卷)关联起来,容器上的挂载点下的内容就是主机的这个目录下的内容,这类似linux系统下mount的机制。 这样的话,我们修改主机上该目录的内容时,不需要同步容器,对容器来说是立即生效的。 挂载点可以让多个容器共享。也就是说Volume可以将容器以及容器自身的数据分离开来。
两种类型的Date Volume
1:bind mount (脱管volume)
- 在启动容器的时候指定host的文件目录,向容器指定的文件目录进行挂载。
- 会影响可移植性
- 此方式不会产生由容器管理的volume对象
2:docker manager volume(受管volume)
- 可以在启动容器的时候,只指定容器的被挂载点(因为生成了volume对象)
- 提高了可移植性
基础操作
docker volume ls 查看所有的volume对象
docker volume create v_1 创建一个volume对象
docker volume inspect v_1 详细查看一个volume对象的内容
docker volume rm 删除一个或多个
docker volume prune 删除所有未被容器使用的对象
例子:
#默认状态下不会指定volume对象,需要手动创建或指定
docker run --name busybox01 -it -p 3002:80 -v v-1:/var/www/ busybox
清理volume:
docker rm 容器ID -v 同时删除容器和volume对象
docker volume rm v_1 单独删除volume对象
网友评论