我正在使用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
答案 0 :(得分:0)
我自己遇到了类似的问题,通过在脚本前面运行来解决问题。对你来说就是:
ENTRYPOINT "sh" "/usr/src/docker-entrypoint.sh"