Docker 入口点权限被拒绝

tac*_*omk 10 docker kubernetes docker-entrypoint

我目前正在尝试处理对 kubernetes 集群的部署。部署不断失败并响应

 Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/entrypoint.sh\": permission denied"
Run Code Online (Sandbox Code Playgroud)

我试图更改文件的权限,这似乎成功了,就像我 ls -l 我得到 -rwxr-xr-x 作为文件的权限一样。

我曾尝试将 chmod 命令放在 dockerfile 本身以及构建和上传图像之前,但似乎都没有任何区别。任何想法为什么我仍然收到错误?

下面的 dockerfile

FROM node:10.15.0
CMD []
ENV NODE_PATH /opt/node_modules

# Add kraken files
RUN mkdir -p /opt/kraken
ADD .  /opt/kraken/
# RUN chown -R node /opt/
WORKDIR /opt/kraken

RUN npm install && \
    npm run build && \
    npm prune --production

# Add the entrypoint
COPY ./entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
USER node
ENTRYPOINT ["/entrypoint.sh"]
Run Code Online (Sandbox Code Playgroud)

Aki*_*zer 9

此错误与入口点错误无关,而是与内部命令有关。始终使用“sh script.sh”入口点或 cmd 启动脚本。在这种情况下,它将是: ENTRYPOINT ["sh", "entrypoint.sh"]

  • 完全不一样,一个需要可执行权限,一个不需要。只要尝试找出答案即可。 (2认同)