如何从 docker 容器中获取数据到主机的共享文件夹中?

How to get data from docker container into shared folder at host?

我能够在我的 mac/host 的 ~/share 和容器内的 opt/abc 之间安装卷。然而,这样做后两者都显得空荡荡的。即使容器中有整个应用程序。但它在我创建文件时起作用,并且它出现在两个地方。

我该怎么做才能从容器中获取所有文件并将其放入 host/mac 旁边的文件夹中。

再次。从那时起,它就可以很好地连接和同步。但是容器内已经存在的东西并没有出现。

当你mount a host directory as a data volume:

If the path /opt/abc already exists inside the container’s image, the ~/share mount overlays but does not remove the pre-existing content.
Once the mount is removed, the content is accessible again. This is consistent with the expected behavior of the mount command.

"overlays but does not remove the pre-existing content" 表示在挂载期间之前存在的内容变得不可见。

因此容器文件夹显示为空是预期的行为(当您在其上挂载一个最初为空的主机文件夹时)

how to get data into host from container.

您实际上需要相反的方法:首先在您的主机上获取该数据,然后启动您的容器并将该主机文件夹安装为一个卷。