我在 MAC 上通过 Docker 运行本地主机数据库。我有一项作业需要我将 .bak 文件与我编写的程序一起提交。我使用 Azure Data Studio 作为 DBMS。我在任何地方都找不到这些内容,我试图用谷歌搜索这个问题,但对于其他 mac 用户来说,这似乎不是一个常见问题。
我如何从 Finder 访问这些?或者有其他方法可以做到这一点?
答案 0 :(得分:0)
通过此 tutorial 从 Mac OS 主机访问 Docker 容器文件系统。
docker inspect --format <Container Name>
docker run --rm -it -v /:/vm-root alpine:edge sh
我们需要这个容器的 ID。因此,您可以将步骤 1 和 2 与以下内容结合起来
docker run --rm -it -e CONTAINER_ID=$(docker inspect --format <Container Name>) -v /:/vm-root alpine:edge sh
现在我们将 CONTAINER_ID 设置为 alpine 容器中的环境变量。
cd /vm-root/var/lib/docker
在这个目录中,你将能够访问所有你在管理 Docker 时习惯的熟悉的文件
现在,我们需要找到所选容器的 mount-id 以访问文件系统目录。我们将使用在第 2 步中获得的 CONTAINER_ID 环境变量。在本示例中,我使用 AUFS 作为文件系统驱动程序。为此,请使用以下命令。
MOUNT_ID=$(cat /vm-root/var/lib/docker/image/aufs/layerdb/mounts/$CONTAINER_ID/mount-id)
ls -ltr /vm-root/var/lib/docker/aufs/mnt/$MOUNT_ID