梗概
- Volume是一个独立于容器外的数据区,可以给指定的容器读写数据
使用指南
在Docker中,使用-v
或--volume
选项可以指定容器和主机之间的卷(Volume)映射。卷是用于在容器和主机之间共享数据的一种方式。以下是一些常见的用法:
注意
注意:在Windows系统上,路径分隔符是\
,而在Linux和macOS上是/
。因此,如果你在Windows上运行Docker命令,请确保使用正确的路径分隔符。
绝对路径映射
通过指定主机上的绝对路径和容器内的路径,可以创建一个卷映射。例如:
docker run -v /host/path:/container/path my_image
这将把主机上的/host/path
映射到容器内的/container/path
。
实例
windows
docker run -v C:\Users\qql1\Desktop\workspace:/siyuan/workspace -p 8100:8100 -u 1000:1000 b3log/siyuan
使用卷名
Docker还支持使用卷名进行映射,可以通过-v volume_name:/container/path
的方式来指定卷名。Docker会在主机上创建一个卷,并将其映射到容器内的指定路径。
docker run -v my_volume:/container/path my_image
在这个例子中,my_volume
是卷的名称。
读写权限
你可以使用:ro
来指定只读权限,:rw
来指定读写权限。例如:
docker run -v /host/path:/container/path:ro my_image
这将把卷设置为只读。
使用 Docker Compose
如果你使用Docker Compose来管理容器,你可以在docker-compose.yml
文件中指定卷。例如:
version: '3'
services:
my_service:
image: my_image
volumes:
- /host/path:/container/path
这将在启动容器时创建指定的卷映射。