如何从 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 命令。
我想从图像 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 命令。