Dockerfile不会运行

时间:2017-10-19 20:33:21

标签: docker dockerfile

我正在制作一个Dockerfile来实现服务器设备。

我相信我的文件是完整的,但在实现它时我返回了一个错误;

/docker-entrypoint.sh: line 22: /opt/author/application/bin/start-ppliance.sh: Permission denied
/docker-entrypoint.sh: line 22: exec: /opt/author/application/bin/start-appliance.sh: cannot execute: Permission denied

在Dockerfile本身中,我运行以下命令;

RUN  chmod -R 0750 /opt/author/
RUN  chown -R USER1:USER1   /opt/author/

以及;

USER USER1

在Dockerfile本身中,最后一行是;

CMD ["/opt/author/application/bin/start-appliance.sh", "run"]

我不清楚为什么会发生此错误,因为该文件位于容器内并且由默认用户拥有。

1 个答案:

答案 0 :(得分:1)

正如您所知,这通常发生在您的文件没有设置执行位的情况下,尽管您的chmod 750理论上应该处理这个问题。调试实际问题的一种方法只是在CMD时间传递不同的docker run(例如docker run -it <image> sh)并检查脚本的权限与ls -l。通常,没有执行位设置是罪魁祸首。

如果不是这样,我建议使用完整的Dockerfile澄清问题,以防万一VOLUME指令可能会丢弃RUN你的影响#39;重新使用。