Docker"未找到"对于现有文件

时间:2017-04-28 20:09:52

标签: linux docker filesystems docker-machine

我正在使用Docker构建一个电子节点应用程序,我得到了一些奇怪的行为。构建似乎很成功但是当我运行电子应用程序时,我得到了一个"未找到"错误,但文件确实存在。我可以使用该文件并捕获该文件,但无法获取/执行该文件。

$ 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

1 个答案:

答案 0 :(得分:0)

我自己遇到了类似的问题,通过在脚本前面运行来解决问题。对你来说就是:

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