gpt4 book ai didi

未找到或不存在 Docker 容器命令

转载 作者:行者123 更新时间:2023-12-04 23:41:16 24 4
gpt4 key购买 nike

我在使用 Docker 时遇到了麻烦。

这是我的 DockerFile

FROM alpine:3.3

WORKDIR /

COPY myinit.sh /myinit.sh

ENTRYPOINT ["/myinit.sh"]

初始化文件
#!/bin/bash
set -e

echo 123

这就是我建立形象的方式
docker build -t test  --no-cache 

运行日志
Sending build context to Docker daemon 3.072 kB
Step 1 : FROM alpine:3.3
---> d7a513a663c1
Step 2 : WORKDIR /
---> Running in eda8d25fe880
---> 1dcad4f11062
Removing intermediate container eda8d25fe880
Step 3 : COPY myinit.sh /myinit.sh
---> 49234cc3903a
Removing intermediate container ffe6227c921f
Step 4 : ENTRYPOINT /myinit.sh
---> Running in 56d3d748b396
---> 060f6da19513
Removing intermediate container 56d3d748b396
Successfully built 060f6da19513

这就是我运行容器的方式
docker run --rm --name test2  test

docker: Error response from daemon: Container command '/myinit.sh' not found or does not exist..

myinit.sh 肯定存在。这是 ls -al
ls -al
total 16
drwxr-xr-x 4 lorddaedra staff 136 10 май 19:43 .
drwxr-xr-x 25 lorddaedra staff 850 10 май 19:42 ..
-rw-r--r-- 1 lorddaedra staff 82 10 май 19:51 Dockerfile
-rwxr-xr-x 1 lorddaedra staff 29 10 май 19:51 myinit.sh

为什么它看不到我的入口点脚本?任何解决方案?

谢谢

最佳答案

这不是它找不到的入口点脚本,而是它所引用的 shell——alpine:3.3 默认情况下里面没有 bash。更改您的 myinit.sh到:

#!/bin/sh
set -e

echo 123

即引用 /bin/sh而不是 /bin/bash

关于未找到或不存在 Docker 容器命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37144943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com