Quarkus DevServices启动的PostgreSQL容器挂载CSV文件失败,求正确路径
解决Quarkus DevServices PostgreSQL挂载CSV文件为空的问题
- 首先,DevServices的volume配置里,本地路径需以项目根目录为基准,推荐用Quarkus内置的
${project.root}占位符消除相对路径歧义,修改application.properties配置如下:
quarkus.datasource.devservices.volumes."${project.root}/src/main/resources/init/"=/container/resources/
- 若容器内postgres用户无法读取挂载文件,可添加权限配置解决:
quarkus.datasource.devservices.volume-mount-options."${project.root}/src/main/resources/init/"=ro,z
其中ro设置只读挂载(符合初始化文件的需求),z用于解决SELinux环境下的权限限制。
确认
titanic.csv文件确实存在于项目的src/main/resources/init/目录下,文件名和路径无拼写错误。最后在初始化SQL脚本中,使用容器内路径执行COPY命令:
COPY your_table_name FROM '/container/resources/titanic.csv' DELIMITER ',' CSV HEADER;
内容的提问来源于stack exchange,提问作者Nic
相关产品推荐
相关产品推荐

