Docker“找不到”现有文件

我正在使用Docker来构build一个电子节点应用程序,并且出现了一些奇怪的行为。 构build似乎成功,但是当我运行电子应用程序时,我得到一个“未find”的错误,但该文件确实存在。 我可以find该文件,并捕获该文件,但无法源/执行该文件。

$ docker -v Docker version 17.03.1-ce, build c6d412e 

Dockerfile:

 FROM node:alpine RUN mkdir -p /usr/src WORKDIR /usr/src COPY package.json /usr/src RUN npm install COPY . /usr/src RUN npm run build:linux ENTRYPOINT "/usr/src/docker-entrypoint.sh" 

这将导致产生这个目录:

 /usr/src/app/builds/app-linux-x64 

包含一个名为app的可执行文件的一堆文件。

 /usr/src/app/docker-entrypoint.sh: line 5: ./app: not found 

它确实存在。

 /usr/src/app/builds/app-linux-x64 # ls -lah total 124472 drwxr-xr-x 4 root root 4.0K Apr 28 20:07 . drwxrwxr-x 1 root root 4.0K Apr 28 20:07 .. -rw-r--r-- 1 root root 1.0K Apr 28 20:07 LICENSE -rw-r--r-- 1 root root 1.6M Apr 28 20:07 LICENSES.chromium.html -rw-r--r-- 1 root root 24.3K Apr 28 20:07 blink_image_resources_200_percent.pak -rw-r--r-- 1 root root 15 Apr 28 20:07 content_resources_200_percent.pak -rw-r--r-- 1 root root 9.7M Apr 28 20:07 content_shell.pak -rw-r--r-- 1 root root 9.7M Apr 28 20:07 icudtl.dat -rw-r--r-- 1 root root 2.8M Apr 28 20:07 libffmpeg.so -rwxr-xr-x 1 root root 19.4M Apr 28 20:07 libnode.so drwxr-xr-x 2 root root 4.0K Apr 28 20:07 locales -rw-r--r-- 1 root root 334.7K Apr 28 20:07 natives_blob.bin -rw-r--r-- 1 root root 136.6K Apr 28 20:07 pdf_viewer_resources.pak drwxr-xr-x 2 root root 4.0K Apr 28 20:07 resources -rw-r--r-- 1 root root 970.2K Apr 28 20:07 snapshot_blob.bin -rwxr-xr-x 1 root root 76.7M Apr 28 20:07 app -rw-r--r-- 1 root root 159.4K Apr 28 20:07 ui_resources_200_percent.pak -rw-r--r-- 1 root root 6 Apr 28 20:07 version -rw-r--r-- 1 root root 58.7K Apr 28 20:07 views_resources_200_percent.pak 

我可以这样做:

 /usr/src/app/builds/app-linux-x64 # ls -lah app -rwxr-xr-x 1 root root 76.7M Apr 28 20:07 app 

但是我不能运行它:

 /usr/src/app/builds/app-linux-x64 # ./app /bin/sh: ./app: not found 

我自己也遇到了一个类似的问题,这个问题是通过在脚本的前面运行来解决的。 对你而言,这将是:

 ENTRYPOINT "sh" "/usr/src/docker-entrypoint.sh"