Docker CMD 找不到使用 Dockerfile 安装的文件?

Docker CMD 找不到使用 Dockerfile 安装的文件?

Docker 版本 20.10.17,内部版本 100c701

我的 Dockerfile

FROM ubuntu:22.04

COPY /entrypoint.sh .

COPY /script.sh /home/

RUN chmod +x /home/script.sh

VOLUME ["/home/volume/bla"]

EXPOSE 3677 3678

ENTRYPOINT ["/entrypoint.sh"]

CMD ["sh /home/script.sh"]

入口点

#!/bin/bash
set -e
echo $@
exec "$@"

我的脚本.sh

echo "yay ... hello docker world";

我建立项目 docker build /home/project/docker/ -t root/project

然后我运行它docker run --user root -it --name project-container root/project

$@然后记录exec $@

sh /home/script.sh
/entrypoint.sh: line 25: /sh /home/script.sh: No such file or directory

为什么找不到脚本?这让我很抓狂。

也尝试过:CMD ["/usr/bin/sh /home/script.sh"]在 Dockerfile 中,但我得到了相同的结果

答案1

你的dockerfileCMD应该看起来像

CMD ["sh", "/home/script.sh"]

你可以ENTRYPOINT删除

相关内容