梗概

  • 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

这将在启动容器时创建指定的卷映射。