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
删除