Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker容器无法';找不到文件,但文件存在_Docker - Fatal编程技术网

docker容器无法';找不到文件,但文件存在

docker容器无法';找不到文件,但文件存在,docker,Docker,我试图打包到Docker容器中,但发现一个奇怪的行为 $ tree . ├── Do

我试图打包到Docker容器中,但发现一个奇怪的行为

$ tree                                                                                                                                                                                                                
.
├── Dockerfile
├── gotty
└── gotty_linux_amd64.tar.gz
Dockerfile:

FROM alpine:3.11.3

RUN mkdir -p /home/gotty
WORKDIR /home/gotty
COPY gotty /home/gotty
RUN chmod +x /home/gotty/gotty
CMD ["/bin/sh"]
该映像是无问题构建的:

[strip...]
Removing intermediate container 0dee1ab645e0
 ---> b5c6957d36e1
Step 7/9 : COPY gotty /home/gotty
 ---> fb1a1adec04a
Step 8/9 : RUN chmod +x /home/gotty/gotty
 ---> Running in 90031140da40
Removing intermediate container 90031140da40
 ---> 609e1a5453f7
Step 9/9 : CMD ["/bin/sh"]
 ---> Running in 30ce65cd4339
Removing intermediate container 30ce65cd4339
 ---> 099bc22ee6c0
Successfully built 099bc22ee6c0
chmod
成功更改了文件模式。所以
/home/gotty/gotty
出现了

$ docker run -itd 099bc22ee6c0
9b219a6ef670b9576274a7b82a1b2cd813303c6ea5280e17a23a917ce809c5fa
$ docker exec -it 9b219a6ef670 /bin/sh
/home/gotty # ls
gotty
/home/gotty # ./gotty
/bin/sh: ./gotty: not found

进入容器,gotty命令就在那里。我用相对路径运行它。为什么找不到
。查看
ldd gotty
的输出。尝试添加
libc6 compat

apk add libc6-compat

看看这是否解决了问题。

您应该使用
ls-l
来查看属性,而不是
ls
。只要运行新图像,x属性就应该存在。可能是二进制文件本身返回了错误?