我有一个看起来像这样的Dockerfile
FROM node:8.15.0-alpine
# ARGs and LABELs...
RUN apk add --no-cache curl
COPY src/scripts scripts/
COPY src/scripts/update_mmdb.sh /etc/periodic/weekly/update_mmdb
RUN /etc/periodic/weekly/update_mmdb
RUN mkdir -p /root/myapp/bin
COPY src/docker/bin/program_running_in_a_separate_process /root/myapp/bin/
WORKDIR /root/myapp
# Some more COPY-ing
COPY src/myapp/docker/cmd.sh /
CMD /cmd.sh
当我运行容器时,当我的应用程序尝试加速ENOENT
时,出现program_running_in_a_separate_process
错误。
我通过做docker exec -it myapp sh
并尝试直接运行二进制文件进行了调查。我可以成功stat
:
# stat program_running_in_a_separate_process
File: program_running_in_a_separate_process
Size: 14689327 Blocks: 28696 IO Block: 4096 regular file
Device: 39h/57d Inode: 15073498 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-01-14 01:08:09.000000000
Modify: 2020-01-14 01:08:09.000000000
Change: 2020-01-14 01:08:09.000000000
,当我从ls
运行/root/myapp/
时出现,我什至运行chmod +x
来确定,但是当我去运行program_running_in_a_separate_process
时,我肯定sh: ./program_running_in_a_separate_process: not found
怎么可能?