我刚刚开始使用Docker和Docker Compose功能来设置我的Web App服务。我正在使用Linux容器的Windows主机上运行Docker。我得到了一个名为db_volume的命名卷,用于PostgreSQL服务。
services:
postgres_image:
image: postgres:latest
ports:
- "5432"
restart: always
volumes:
- db_volume:/var/lib/postgresql/data
environment:
POSTGRES_USER: "user"
POSTGRES_PASSWORD: "password"
POSTGRES_DB: "db1"
volumes:
db_volume:
当我在该命名卷上使用docker volume inspect
时,可以看到Mountpoint路径是Linux路径。
"Mountpoint": "/var/lib/docker/volumes/dockercompose18019271739475279775_db_volume/_data"
我想知道是否有任何方法可以将此路径转换为Windows,以便可以将这些数据导入pgadmin数据库中。
我已经在我的.env文件中设置了COMPOSE_CONVERT_WINDOWS_PATHS=1
,但似乎没有用。
我还在Docker设置中共享了C
和D
驱动器。
答案 0 :(得分:0)
无法将其转换为Windows路径,因为在这种情况下,它不在Windows文件系统上。分配的存储位于MobyLinux VM上,该虚拟机是Windows安装的一部分。如果要将存储显示为本地Windows文件系统的一部分,则需要执行以下操作,将数据目录映射到主机文件系统:
version: '3'
services:
postgres:
container_name: pg
image: postgres:latest
ports:
- "5432"
restart: always
volumes:
- d:/pgdata:/var/lib/postgresql/data
environment:
POSTGRES_USER: "user"
POSTGRES_PASSWORD: "password"
POSTGRES_DB: "db1"
您应该注意,在Windows上,您需要通过Docker设置中的“共享驱动器”设置公开驱动器。