Docker 查看容器保存路径

在使用 Docker 进行容器化部署时,我们经常需要了解容器的保存路径,以便对容器内的文件进行管理、备份或者恢复。本文将介绍多种方法来查看 Docker 容器的保存路径,并给出相应的代码示例。

方法一:通过 docker inspect 命令查看

docker inspect 命令可以获取容器的详细信息,包括容器的保存路径。下面是一个示例:

$ docker inspect -f '{{.GraphDriver.Data.MergedDir}}' <容器ID>

其中,{{.GraphDriver.Data.MergedDir}} 是一个 Go 模板,表示容器的保存路径。

下面是一个实际的代码示例:

$ docker inspect -f '{{.GraphDriver.Data.MergedDir}}' 1234567890
/var/lib/docker/overlay2/9876543210/merged

以上代码输出了容器 1234567890 的保存路径。

方法二:通过 docker inspect 结合 jq 工具查看

jq 是一个非常强大的命令行 JSON 处理工具,我们可以使用它来解析 docker inspect 命令的输出结果。下面是一个示例:

$ docker inspect <容器ID> | jq -r '.[0].GraphDriver.Data.MergedDir'

其中,.[] 表示数组中的第一个元素,.GraphDriver.Data.MergedDir 表示容器的保存路径。

下面是一个实际的代码示例:

$ docker inspect 1234567890 | jq -r '.[0].GraphDriver.Data.MergedDir'
/var/lib/docker/overlay2/9876543210/merged

以上代码输出了容器 1234567890 的保存路径。

方法三:通过 docker exec 命令查看

docker exec 命令可以在运行中的容器中执行命令。我们可以通过在容器内执行 pwd 命令来获取当前工作目录,从而得到容器的保存路径。

下面是一个示例:

$ docker exec <容器ID> pwd

下面是一个实际的代码示例:

$ docker exec 1234567890 pwd
/var/www/html

以上代码输出了容器 1234567890 的保存路径。

方法四:通过 docker inspect 命令查看容器的挂载点

容器的挂载点是指容器内部的目录或文件在宿主机上的对应路径。我们可以通过 docker inspect 命令获取容器的挂载点信息。

下面是一个示例:

$ docker inspect -f '{{ range .Mounts }}{{ .Destination }}{{ end }}' <容器ID>

其中,{{ range .Mounts }}{{ .Destination }}{{ end }} 是一个 Go 模板,表示容器的挂载点。

下面是一个实际的代码示例:

$ docker inspect -f '{{ range .Mounts }}{{ .Destination }}{{ end }}' 1234567890
/var/www/html

以上代码输出了容器 1234567890 的挂载点路径。

总结

本文介绍了四种方法来查看 Docker 容器的保存路径,分别是通过 docker inspect 命令、通过 docker inspect 结合 jq 工具、通过 docker exec 命令以及通过 docker inspect 命令查看容器的挂载点。不同的方法适用于不同的场景,您可以根据实际需求选择合适的方法。

希望本文对您理解和使用 Docker 容器的保存路径有所帮助!

甘特图

gantt
    title Docker 查看容器保存路径

    section 方法一:docker inspect
    查看容器保存路径    : 2021-01-01, 1d

    section 方法二:docker inspect 结合 jq
    查看容器保存路径    : 2021-01-02, 1d

    section 方法三:docker exec
    查看容器保存路径    : 2021-01-04, 1d

    section 方法四:docker inspect 查看挂载点
    查看容器保存路径    : 2021-01-06, 1d