Files
2026-07-13 12:29:33 +08:00

2.7 KiB

Docker 卷 (volume) 是管理和持久化数据的重要工具。以下是一些常见的 Docker 卷操作及其用法:

1. 创建卷

使用以下命令可以创建一个新的 Docker 卷:

docker volume create my-volume

这个命令将创建一个名为 my-volume 的卷。

2. 列出所有卷

要查看所有创建的卷,可以使用:

docker volume ls

这将列出所有可用的 Docker 卷。

3. 查看卷的详细信息

可以使用 inspect 命令查看某个卷的详细信息:

docker volume inspect my-volume

这个命令将显示卷的元数据,包括其挂载点、创建时间等信息。

4. 删除卷

如果你不再需要某个卷,可以使用以下命令删除它:

docker volume rm my-volume

注意:卷必须没有被任何容器使用,才能被删除。

5. 使用卷挂载到容器

在创建容器时,可以将卷挂载到容器中,例如:

docker run -d -v my-volume:/data busybox

这将把 my-volume 挂载到容器的 /data 目录中。

6. 查看容器的挂载卷

要查看某个正在运行的容器所使用的卷,可以使用:

docker inspect <container_id>

7. 在运行的容器中访问卷

可以进入一个正在运行的容器,并查看挂载的卷内容:

docker exec -it <container_id> sh

在容器内,你可以查看挂载到某个路径的卷内容,例如:

ls /data

8. 备份卷

如前面所述,可以通过将卷的内容打包成 tar 文件进行备份。常见方法包括:

docker run --rm -v my-volume:/data -v $(pwd):/backup alpine \
sh -c "cd /data && tar -czf /backup/backup-my-volume.tar.gz ."

9. 恢复卷

要恢复之前备份的数据,可以使用以下命令:

docker run --rm -v my-volume:/data -v $(pwd):/backup alpine \
sh -c "cd /data && tar -xzf /backup/backup-my-volume.tar.gz"

10. 清理未使用的卷

如果有一些不再使用的卷,可以使用以下命令清理所有未使用的卷:

docker volume prune

这将删除所有未被容器使用的卷。

除了 -v 选项用于挂载卷外,Docker 还提供了一些其他选项来管理卷,特别是在使用 docker run 和 docker-compose 时。以下是一些相关的命令和选项:

--mount 选项提供了更灵活的方式来挂载存储。在一些场景中,它比 -v 更加清晰和强大。

使用格式:


docker run --mount type=volume,source=my-volume,target=/data busybox
这里的参数解释:

type:可以是 volume、bind 或 tmpfs。
source:要挂载的卷的名称(对于 volume 类型)。
target:容器内的挂载点。