[Docker]volume的创建与挂载

在 Docker 中创建和挂载 Volume(卷)可以用于持久化保存数据和文件,便于容器间数据的共享。下面是创建和挂载 Volume 的一般步骤:

创建 Volume

可以使用以下命令在 Docker 中创建 Volume:

docker volume create <volume_name>

其中 <volume_name> 是你希望创建的卷名称,例如:

docker volume create mydata

挂载 Volume

在创建 Volume 后,可以使用 docker run 命令或 docker-compose 文件挂载 Volume 到容器中。以下是两种挂载 Volume 的方法:

1. 使用 docker run 命令

使用 docker run 命令时,可在命令中使用 -v 选项来挂载 Volume:

docker run -v <volume_name>:/<container_mount_point> <image_name>

其中 <volume_name> 是你创建的卷名称,<container_mount_point> 是容器内的文件路径,和 <image_name> 是容器要使用的镜像名称。例如:

docker run -v mydata:/home/data nginx

以上命令将在容器内创建一个 /home/data 目录,并将主机中的 mydata 目录挂载到该容器目录中(注意,冒号前面的为 Volume 名称,冒号后面的为容器内挂载路径)。

2. 使用 docker-compose 文件

使用 docker-compose 文件时,可在文件中使用 volumes 关键字来定义要挂载的 Volume:

services:
  app:
    image: my-image
    volumes:
      - <volume_name>:<container_mount_point>
volumes:
  <volume_name>:

其中 <volume_name> 是你创建的卷名称,<container_mount_point> 是容器内的目录路径。例如:

services:
  web:
    image: nginx
    volumes:
      - mydata:/home/data
volumes:
  mydata:

以上示例定义了一个名为 mydata 的卷,并将其挂载到容器中的 /home/data 目录中。

查看 Volume 列表

使用以下命令可以查看卷列表:

docker volume ls

这将列出所有在 Docker 中创建的卷。

需要注意的是,卷的生命周期与容器的生命周期不同。当容器被删除时,卷并不会自动删除。必须显式地删除未使用的卷,或将卷附加到新容器中。

总而言之,通过创建和挂载 Docker Volume,可以将持久化文件存储在 Docker 内部,以便在多个容器间共享数据。这为应用程序提供了更灵活的存储和共享选项。

posted @ 2023-04-13 16:25  SkyBiuBiu  阅读(774)  评论(0编辑  收藏  举报