如何在 Ubuntu 20.04 上访问 Docker 容器内的文件系统?

如何在 Ubuntu 20.04 上访问 Docker 容器内的文件系统?

我需要访问 docker 镜像的文件系统,但是当我使用路径时,/var/lib/docker我得到的是

buildkit/   containers/ image/      network/    overlay2/   plugins/    runtimes/   swarm/      tmp/        trust/      volumes/

我找不到aufs,那么如何访问任何 docker 镜像的文件系统?

答案1

除了 MaestroGlanz 的答案之外,您还可以将 Docker 容器的整个文件系统导出到档案​​中.tar

user@machine $ docker export --output="container-name.tar" <container-name>

再次重申,如果您需要持久访问容器内的某些文件或文件夹,那么在启动容器时直接映射它们可能是一个好主意,如下所示:

user@machine $ docker run -d -v /path/to/data:/data <container-name>

/data这会将容器内的目录映射到/path/to/data本地文件系统上的目录。

答案2

通常情况下,你无法在硬盘上找到容器的文件。如果你想浏览文件,你需要在容器内有一个 shell:

user@machine $ docker exec - it <container-name> /bin/bash

如果要访问该文件,最好使用以下命令将其从容器中复制出来

user@machine $ docker cp <container-name>:/path/to/file /target/path/

如果您想访问真实文件,您必须在创建时将文件挂载到容器中。

相关内容