数据卷是一个可提供一个或多个容器使用的特殊目录,其绕过UFS,可以提供很多有用的特性:
数据卷的使用,类似于Linux下对目录或文件进行mount,镜像中的被指定为挂载点的目录文件会复制到数据卷中
docker volume create my-vol
查看所有的数据卷
docker volume ls
在主机中查看只能怪数据卷的信息
docker volume inspect my-vol
启动数据卷,加载数据
docker run -d -P \
--name web # -v my-vol:/usr/share/nginx/html
--mount source =my-vol,target=/usr/share/nginx/html mginx:alpine
删除数据卷
docker volume rm my-vol
数据卷
是被设计用来持久化数据的,其生命周期独立于容器,Docker不会在容器被删除后自动删除数据卷
。如果需要在删除容器的同时移除数据卷。可以在删除容器的时候使用docker rm -v
无用的数据卷可能会占用很多空间,要清理请可以使用以下命令
docker volume prune
使用 --mount标记可以指定挂载一个主机本地的目录到容器中去。
docker run -d -P
-- name web # -v /src/webapp:/usr/share/nginx/html --mount type=bind,source=/src/webapp,target=/usr/share/nginx/html #,readonly nginx:alpine
/src/webapp
目录到容器的 /usr/share/nginx/html
目录-v
参数是如果本地目录不存在Dockers会帮你创建一个文件夹,--mount时本地目录不存在时,Docker也会报错readonly
后,就变为了只读属性产看web容器的信息docker inspect web
,会列出挂载目录的配置信息。在Mounts key下
"Mounts": [
{
"Type": "bind",
"Source": "/src/webapp",
"Destination": "/usr/share/nginx/html",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
--mount
标记也可以从主机挂载单个文件到容器中
docker run --rm -it # -v $HOME/.bash_history:/root/.bash_history --mount type=bind,source=$HOME/.bash_history,target=/root/.bash_history ubuntu:18.04 bash
如此可以记录输入的命令
原文:https://www.cnblogs.com/ginko/p/14411644.html