在macOS上使用docker机器时,需要知道docker卷位于何处。 安装使用的是boot2docker,因此VM可以在后面运行。
示例:
docker volume create test-data
docker inspect显示一条路径,但是我在哪里可以找到特定的(物理)位置?
答案 0 :(得分:0)
通常,如果您想“知道”卷的位置,则需要将卷映射到本地文件系统。创建命名卷时,您只是在分配“共享”存储。但是,如果您真的需要知道,请运行以下命令:
docker volume inspect test-data
答案 1 :(得分:0)
它在虚拟机内部,不能从主机直接访问。
像docker volume inspect
这样的调试级别的命令将为您提供一条路径,但是它们实际上仅用于紧急调试,不能用于常规用途。如果您有办法在VM中获得外壳程序,则可以看到该路径,但实际上您不应该直接在其中访问文件,也不应例行docker inspect
进行任何操作。
答案 2 :(得分:0)
如果您已使用snap安装docker,则卷位于:
/var/snap/docker/common/var-lib-docker/volumes/
答案 3 :(得分:-1)
macOS 使用虚拟机,它与Linux不同,在Linux中,您可以从/ var / lib / docker / volumes访问卷。 对于macOS,您应该连接到VM以查找卷。
如果您在Docker中使用持久性数据卷,并希望通过命令行访问它们。
如果您的Docker主机是Linux,那不是问题;您可以通过 / var / lib / docker / volumes 路径找到Docker卷。
但是,当您使用Docker for Mac时并非如此。 尝试从MacOS终端cd / var / lib / docker / volumes,您将一无所获。
您会发现,您的Mac计算机不是真正的Docker主机。 Docker for Mac运行一个虚拟机并将其隐藏起来,使事情变得简单。
因此,要访问Docker for Mac创建的持久卷,您需要在该VM上进行连接。
为此,我们需要在Mac上使用串行终端。有一个名为“屏幕”的终端应用程序将为我们提供帮助。
我们需要通过执行以下命令来“屏蔽” Docker驱动程序:
屏幕 〜/ Library / Containers / com.docker.docker / Data / com.docker.driver.amd64-linux / tty
利润,您到了那里!
如果您需要将文件从MacOS主机传输到Docker主机,则可以参考File Sharing
希望这对您有帮助!