我正在做一些非常简单的事情。这是我的Dockerfile
:
FROM alpine:latest
ADD hello.sh /bin/hello
RUN chmod +x /bin/hello
CMD /bin/hello
然后我构建镜像:
docker build -t hello .
接着我运行这个图片:
docker run hello
以下是输出结果:
/bin/sh: /bin/hello: not found
为什么会发生这种情况?如果我运行以下代码:
docker run hello cat /bin/hello
我能看到我的脚本内容,这让我更加困惑。
Dockerfile
吗?我们可以提供更多具体信息。 - CtheGooddocker run -it hello bash
,然后在容器内部运行hello
(并发布输出)。这将告诉我们镜像的entrypoint
和/或CMD
是否正在执行某些奇怪的操作。您的第二个示例之所以能够工作是因为它专门覆盖了Dockerfile的CMD
。 - CtheGood