我对docker-volume的理解是,它是我的本地机器上的一些存储,在我的本地机器上运行的不同的docker容器也可以访问这些存储。
我使用了一个docker-compose.yml来创建一个运行postgres数据库的docker容器。我指定了卷路径为'postgres:/var/lib/postgresql/data'。但是,这似乎是一个Linux路径。我假设Linux是在我的容器中运行的操作系统,并且docker不知何故知道在我的Windows机器上哪里可以找到实际的数据。有人能告诉我这个卷文件的Windows路径是什么吗?
我已经将卷的名称指定为“postgress”。但是,当我使用“docker volume ls”列出本地计算机上的现有卷时,我只能看到一个名为“docker_postgres”的命名卷。我读到过docker将卷名与存储它的项目目录放在一起。这就是我希望在本地计算机上找到卷的位置的原因之一-只是因为我不明白为什么前缀是“码头”。
你可能意识到我对 Docker 没有广泛的背景,请帮我解释一下!
1条答案
按热度按时间utugiqy61#
谁能告诉我此卷文件的Windows路径是什么?
是的,有人可以(我不能,我不知道足够好的内部),但这将是规避如何使用docker卷。
如果要从容器外部访问数据,只需不使用命名卷,而是直接使用路径而不是
postgres
卷名。如果您仍然需要访问数据,则将卷装载到允许主机访问数据的容器中(例如,通过SSH/SCP)是执行此操作的标准方法。