【问题标题】:Permission denied for docker-compose Supersetdocker-compose Superset 的权限被拒绝
【发布时间】:2019-03-11 18:52:55
【问题描述】:

我正在尝试让 Superset 在 ubuntu 服务器上运行。我引用了 Superset 页面中的步骤如下:

git clone https://github.com/apache/incubator-superset/
cd incubator-superset/contrib/docker
# prefix with SUPERSET_LOAD_EXAMPLES=yes to load examples:
docker-compose run --rm superset ./docker-init.sh
# you can run this command everytime you need to start superset now:
docker-compose up

我已经修复了正确版本的 docker-compose 的初始问题和端口 5432 上的 postgress 地址绑定问题。所以在修复了这些之后我的 docker compose 运行命令

docker-compose run --rm superset ./docker-init.sh

工作正常,它要求我设置用户名和密码。

最后为了让容器运行,我运行最终命令

docker-compose up. 

在我的 Mac 上,它会运行 redis、postrgre 容器,然后给我一个 localhost:8088 让我通过登录信息访问 Superset UI。

但是在 Ubuntu 上,当我运行它时,我首先得到这个:

看起来它正在运行 redis 和 postgres 容器。

但是它给了我权限被拒绝的错误来创建一些 mkdir 目录。

请注意,我以 root 用户身份运行它。

另外,我的 docker compose 版本适用于 1.23.2,我的 docker 和 docker-compose 安装在

/usr/bin/docker and not /usr/local/bin/docker. 

但我认为这不应该是一个问题。

在哪里出错以及如何解决它?

谢谢

编辑:

好的,我查看了 Github 上提到的相同问题。并在 docker-compose.yml 文件中使用了仅用于生产而不是开发的建议。

现在我这样做时似乎不会抛出同样的错误

docker-compose up.

但是,当我打开 localhost:8088 时,它并没有连接到 UI。

【问题讨论】:

    标签: docker docker-compose superscript


    【解决方案1】:

    试试这个:

    mkdir ../../assets
    chmod -R 777 ../../superset/assets/
    

    docker-compose.yml#L64中设置,开发时使用../../superset作为音量。但是容器在主机中没有任何权限,因此解决方案是自己创建一个目录并为其授予必要的权限。

    【讨论】:

      猜你喜欢
      • 2020-08-31
      • 1970-01-01
      • 1970-01-01
      • 2022-08-08
      • 2020-06-12
      • 2021-01-09
      • 1970-01-01
      • 1970-01-01
      • 2022-06-23
      相关资源
      最近更新 更多