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"]
我不清楚为什么会出现这个错误,因为这个文件在容器内,并且是由默认用户拥有的。
正如你已经知道的,这通常发生在你的文件没有设置执行位时,尽pipe你的chmod 750
理论上应该处理这个。 一种方法来debugging,如果这实际上只是在docker run
时传递不同的CMD
(例如docker run -it <image> sh
),并检查脚本的权限与ls -l
。 往往不是执行位设置是罪魁祸首。
如果不是这样的话,我build议使用完整的Dockerfile来解释这个问题,以防万一像VOLUME
指令那样可能会丢弃正在使用的RUN
的效果。