如何解决在 mac 上访问数据库备份文件? (.bak)
我在 MAC 上通过 Docker 运行本地主机数据库。我有一项作业需要我将 .bak 文件与我编写的程序一起提交。我使用 Azure Data Studio 作为 DBMS。我在任何地方都找不到这些内容,我试图用谷歌搜索这个问题,但对于其他 mac 用户来说,这似乎不是一个常见问题。
我如何从 Finder 访问这些?或者有其他方法可以做到这一点?
解决方法
通过此 tutorial 从 Mac OS 主机访问 Docker 容器文件系统。
- 要访问特定容器的文件系统,首先让我们在 Docker 主机上使用检查命令获取容器 ID。
docker inspect --format <Container Name>
- 使用 Alpine Docker 镜像并将您的主机文件系统挂载到容器
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 容器中的环境变量。
- 进入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)
- 上述步骤将为您提供 mount-id。现在可以通过mount-id访问mnt目录下容器的文件系统
ls -ltr /vm-root/var/lib/docker/aufs/mnt/$MOUNT_ID
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。