我已经使用docker映像设置了一个cloudant本地数据库。
当我试图使用驻留在localhost:8000上的JavaScript应用程序发送一个cloudant查询时,它会给我一个CORS错误。
如何启用Cloudant本地的CORS?我试过以下几种方法

发布于 2017-04-27 20:16:53
答案和“anirus”一样,但有一种非常疯狂的方式。如果您已将容器命名为cloudant-developer,请按照https://hub.docker.com/r/ibmcom/cloudant-developer/的当前说明进行命名。
default.ini文件:
docker exec cloudant-developer cat /opt/cloudant/etc/default.ini > default.inienable_cors = true而不是false[cors]部分中,添加一条类似于origins = http://localhost:3000的行。它还应该使用逗号分隔列表,但可能一次只处理一个应用程序。-v `pwd`/default.ini:/opt/cloudant/etc/default.ini添加到docker的命令行参数列表中,就可以将修改后的挂载到原始文件之上:
docker run --privileged --detach --volume cloudant:/srv -v `pwd`/default.ini:/opt/cloudant/etc/default.ini --name cloudant-developer --publish 8080:80 --hostname cloudant.dev ibmcom/cloudant-developer发布于 2017-11-04 19:44:53
这可以使用自定义Dockerfile来完成,该文件在数据库启动之前对Cloudant设置文件进行编辑。我用了这个-
FROM ibmcom/cloudant-developer:latest
RUN \
sed -i 's/enable_cors = false/enable_cors = true/g' /opt/cloudant/etc/default.ini && \
sed -i 's/\[cors\]/\[cors\]\norigins=*/g' /opt/cloudant/etc/default.ini && \
sed -i 's/credentials = false/credentials = true/g' /opt/cloudant/etc/default.ini它将使用origins=*启用cors,并接受来自CORS连接的凭据。
你可以把它放在一个Dockerfile中,然后docker build和docker run。
发布于 2016-09-23 15:49:59
到目前为止,我的所有调查都表明,这一点在当地Cloudant没有得到支持。
https://stackoverflow.com/questions/39460696
复制相似问题