Docker环境下Parse Server配置S3 Adapter遇模块找不到问题
解决Parse Server Docker启动时S3Adapter找不到模块的问题
错误原因
官方parseplatform/parse-server镜像已经内置了S3文件适配器,你指定的./Files/S3Adapter.js路径在容器内部不存在,导致模块查找失败。
修正后的启动命令
直接使用内置适配器的包名作为PARSE_SERVER_FILES_ADAPTER的值,调整后的Docker启动命令如下:
docker run --name parse-server \ -e PARSE_SERVER_APPLICATION_ID=application_id \ -e PARSE_SERVER_MASTER_KEY=master_key \ -e PARSE_SERVER_DATABASE_URI=mongodb://admin:password@mongo/parse_server?authSource=admin \ -e PARSE_SERVER_FILES_ADAPTER=@parse/s3-files-adapter \ -e S3_ACCESS_KEY=XXXX \ -e S3_SECRET_KEY=XXXX \ -e S3_BUCKET=XXXX \ -e S3_REGION=XXXX \ -e S3_DIRECT_ACCESS=false \ --link parse-mongo-db:mongo \ -p 1337:1337 \ -d parseplatform/parse-server \ --masterKeyIps "0.0.0.0/0"
关键调整说明
- 把
PARSE_SERVER_FILES_ADAPTER的值从相对路径./Files/S3Adapter.js替换为内置适配器的包名@parse/s3-files-adapter - 保持其他S3相关环境变量(
S3_ACCESS_KEY、S3_SECRET_KEY等)不变,确保这些值与你的AWS S3配置匹配 - 如果后续需要使用自定义的S3适配器文件,需要通过
-v参数将本地适配器文件挂载到容器内可访问的路径,比如:
此时再将-v /本地路径/S3Adapter.js:/parse-server/Files/S3Adapter.jsPARSE_SERVER_FILES_ADAPTER设为容器内的路径./Files/S3Adapter.js即可。
内容的提问来源于stack exchange,提问作者sudhishkr
相关产品推荐
相关产品推荐

