【问题标题】:how to import large file in a local cartodb running in a docker container如何在 docker 容器中运行的本地 cartodb 中导入大文件
【发布时间】:2016-03-15 20:20:56
【问题描述】:

我正在使用https://hub.docker.com/r/sverhoeven/cartodb/ docker 镜像。 我已经按照要求配置了 nginx。

我有一个正在运行的本地 cartodb,做了一些很酷的可视化。 我可以随意上传 80MB 的文件。

但是,当我尝试上传 240MB 的文件时,它甚至没有尝试。我立即在左下角弹出一个小提示“哎呀!连接 my_csv.csv 时出错”,当我点击查看更多信息时,我有更多信息:“不幸的是,出现了连接错误”。

我不知道应该查看哪个日志。也许是 cartodb 失败了,也许是我的容器有一个我不知道的限制,也许它来自其他地方……我迷路了!

【问题讨论】:

  • 登录到容器 (docker exec -it container_id /bin/bash) 并尝试读取 cartodb、postgres 或 nginx 的日志文件。其中一个可能启用了大小限制。
  • 我已经做了,但是今天我查看了本地的nginx日志,发现:2016/03/15 09:31:12 [错误] 8500#0: *5184 客户端打算发送太大正文:137276047 字节,客户端:127.0.0.1,服务器:cartodb.localhost,请求:“POST /user/dev/api/v1/imports HTTP/1.1”,主机:“cartodb.localhost”,引用者:“cartodb.localhost/user/dev/dashboard/datasets "
  • 我将编辑本地 nginx 配置
  • 我修改了在该图像的 github 存储库中找到的配置文件,将最大主体大小设置为 3GB。它奏效了。
  • 我应该删除这个问题,因为它不是很有用吗?

标签: nginx docker large-files cartodb


【解决方案1】:

docker image的描述中,声明了

你需要添加config/cartodb.nginx.proxy.conf到/etc/nginx/conf.d/。

这个文件可以在here找到,下面的行必须修改成任何需要的大小:client_max_body_size 100M;

还需要更改用户权限以允许他创建具有多行的表。 由于它是本地 cartodb,因此可以通过连接到容器(docker exec -it container_id /bin/bash),转到/cartodb 并使用以下命令:

bundle exec rake cartodb:set_custom_limits_for_user[<user_name>,<import_file_size>,<table_row_count>,<concurrent_imports>]

【讨论】:

    猜你喜欢
    • 2022-08-18
    • 2022-01-22
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多