You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Streamlit官方Docker模板在OpenShift中出现run.sh权限拒绝问题

Streamlit K8s部署容器启动权限错误解决

核心问题1:run.sh 无执行权限

你本地复制的run.sh文件被COPY到容器后,没有设置可执行权限,导致容器启动时无法执行该脚本。官方原模板依赖git克隆仓库,仓库内的run.sh本身带有可执行权限,所以没有这个问题,而你替换成本地复制后缺失了权限配置。

修复方式:在Dockerfile中添加赋予执行权限的命令:

COPY run.sh /home/appuser
RUN chmod +x ./run.sh  # 新增这行,给脚本添加可执行权限
ENTRYPOINT ["./run.sh"]

核心问题2:run.sh 文件存在语法错误

你的run.sh末尾多了一行重复的#!/bin/bash,这会导致脚本执行逻辑异常,需要删除这行多余内容。修正后的run.sh末尾部分应为:

streamlit run ${HOME}/app/main.py &
APP_ID=${!}

wait ${APP_ID}

额外检查项

  • 无需纠结本地文件权限,通过Dockerfile中的chmod +x命令可以确保容器内脚本拥有执行权限。
  • 确认appuser对/home/appuser/run.sh拥有读权限,默认COPY后的文件权限已经满足,无需额外调整。

内容的提问来源于stack exchange,提问作者teq508

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 14:34:55