我刚开始使用 Docker 和 Docker Compose 特性来设置我的 Web 应用服务。我在 Windows 主机上运行 Docker,使用 Linux 容器。我有一个叫做 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驱动器。
docker cp
直接将文件复制到卷中。您可以从主机路径复制到容器路径或从容器到容器。要为容器命名以便于使用,请在 docker-compose.yml 中添加选项container_name: my_postgres
。以下是使用单个命令进行复制的示例:(首先将文件放入所选的 Windows 文件夹中,假设为 d:/pgdata),然后只需运行docker cp d:/pgdata/ my_posgres:/var/lib/postgresql/data
。这样,您就可以与 Win/Lin 主机分离。 - Dimitar Nikovski