bash脚本通过docker cant cd进入现有目录

bash脚本通过docker cant cd进入现有目录,bash,docker,Bash,Docker,我有一份docker文件 以下哪一项结束 COPY . /research COPY ./funnel_viewer/run_dashboard.sh / RUN chmod +x /run_dashboard.sh ENTRYPOINT ["sh", "/run_dashboard.sh"] run_dashboard.sh脚本如下所示: #!/bin/bash echo $(pwd) echo $(ls -l) cd ./funnel_viewer /opt/conda/

我有一份docker文件 以下哪一项结束

COPY . /research

COPY ./funnel_viewer/run_dashboard.sh /
RUN chmod +x /run_dashboard.sh
ENTRYPOINT ["sh", "/run_dashboard.sh"]
run_dashboard.sh脚本如下所示:

#!/bin/bash
  echo $(pwd)
  echo $(ls -l)
  cd ./funnel_viewer
  /opt/conda/envs/dashboard_env/bin/python dashboard.py run
运行docker时,我会收到“cant cd to漏斗\ U查看器”
此时,
echo${ls-1}
显示目录存在。
目录所有者是root,运行脚本的用户也是root


为什么我要把cand cd拿到。。错误?

/funnel\u viewer
是一个绝对路径。如果您需要相对路径,请使用
/funnel\u viewer
。是-抱歉,以前尝试过此操作-仍然无法工作。编辑问题。即使使用相对路径,问题仍然存在。您是否可以删除此shell脚本,将软件包安装到“系统”Python环境中,而不是创建虚拟环境,并改用Dockerfile
WORKDIR
CMD
指令?这似乎容易一点。(顺便说一句,为什么
echo$(ls)
而不是
ls
?)@DavidMaze我找到了一个解决方法,使用Docker的入口点而不是bash脚本。问题是一样的,为什么在X存在的情况下我得到了“不能将cd放入X”。