如何从 docker 容器 postgres:12 中读取 csv 文件?

How do I read a csv file from inside a docker container postgres:12?

我想从图像 postgres:12 导入一个 csv 文件到 docker-compose 容器内的 postgreSQL table。我可以从应用程序后端读取文件,例如:

pd.read_csv(pth.dirname(__file__) + '/file_name.csv')

其中文件路径是:

/opt/project/backend_api/directory_name

但是当我尝试从容器访问同一个文件时 \copy data_table(id, ...) FROM '/opt/project/backend_api/directory_name/file_name.csv' DELIMITER ',' CSV HEADER; 没有这样的文件或目录错误。 那么我如何允许容器读取此路径,或者如何将文件添加到我能够到达的位置?

...how to add the file to location where I'll be able to reach it?

由于您的容器已经 运行,您可以将文件复制到容器中:docker cp file_name.csv <container id>:/opt/project/backend_api/directory_name/file_name.csv 并尝试您的 pg 命令。