在 mac 上访问数据库备份文件? (.bak)

时间:2021-03-26 10:53:49

标签: sql-server macos azure finder

我在 MAC 上通过 Docker 运行本地主机数据库。我有一项作业需要我将 .bak 文件与我编写的程序一起提交。我使用 Azure Data Studio 作为 DBMS。我在任何地方都找不到这些内容,我试图用谷歌搜索这个问题,但对于其他 mac 用户来说,这似乎不是一个常见问题。

Here is where the files are stored

我如何从 Finder 访问这些?或者有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

通过此 tutorial 从 Mac OS 主机访问 Docker 容器文件系统。

  1. 要访问特定容器的文件系统,首先让我们在 Docker 主机上使用检查命令获取容器 ID。

docker inspect --format <Container Name>

  1. 使用 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 容器中的环境变量。

  1. 进入alpine容器后,可以访问以下目录

cd /vm-root/var/lib/docker

  1. 在这个目录中,你将能够访问所有你在管理 Docker 时习惯的熟悉的文件

  2. 现在,我们需要找到所选容器的 mount-id 以访问文件系统目录。我们将使用在第 2 步中获得的 CONTAINER_ID 环境变量。在本示例中,我使用 AUFS 作为文件系统驱动程序。为此,请使用以下命令。

MOUNT_ID=$(cat /vm-root/var/lib/docker/image/aufs/layerdb/mounts/$CONTAINER_ID/mount-id)

  1. 上述步骤将为您提供 mount-id。现在可以通过mount-id访问mnt目录下容器的文件系统

ls -ltr /vm-root/var/lib/docker/aufs/mnt/$MOUNT_ID

相关问题