2
這太令人困惑了。Docker進入點/ CMD找不到文件
我有這個簡單的Dockerfile,它採用NPM安裝到依賴安裝到node_modules:
FROM node:7
RUN chmod -R 777 $(npm root -g)
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json .
RUN npm install
RUN npm install github:sumanjs/suman#rebase_branch
COPY . .
RUN (cd node_modules && ls -a) # 1 this logs expected stuff
RUN (cd node_modules/suman && ls -a) # 2 this logs expected stuff
CMD ["node","/usr/src/app/node_modules/suman/cli.js"]
它似乎很清楚,該文件運行
cd node_modules/suman && ls -a
之後,但由於某種原因,我得到的是有一個錯誤:
module.js:472
throw err;
^
Error: Cannot find module '/usr/src/app/node_modules/suman/cli.js'
at Function.Module._resolveFilename (module.js:470:15)
at Function.Module._load (module.js:418:25)
at Module.runMain (module.js:605:10)
at run (bootstrap_node.js:427:7)
at startup (bootstrap_node.js:151:9)
at bootstrap_node.js:542:3
如果我使用ENTRYPOINT而不是這樣:
ENTRYPOINT ["/usr/src/app/node_modules/suman/cli.js"]
(cli.js有hashbang)
,我收到了類似的錯誤:
container_linux.go:262: starting container process caused "exec: \"/usr/src/app/node_modules/suman/cli.js\": stat /usr/src/app/node_modules/suman/cli.js: no such file or directory"
docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "exec: \"/usr/src/app/node_modules/suman/cli.js\": stat /usr/src/app/node_modules/suman/cli.js: no such file or directory".
ERRO[0001] error waiting for container: context canceled
這是很奇怪的,我已經使用泊塢窗一段時間了,和避風港」我以前看過類似的東西。任何人都知道可能會是什麼?似乎很清楚,該文件丟失了,但我無法弄清楚爲什麼會這樣。尤其是考慮到我使用ls -a
時,該文件似乎存在。
要證明給你看,這是第二LS -a命令的輸出:
Step 10/11 : RUN (cd node_modules/suman && ls -a)
---> Running in 0715d56e23a9
.
..
.babelrc
.npmignore
.tscmultiwatch
README.md
cli
cli.d.ts
cli.js <<< dis my file
config
dist
dts
examples
lib
package.json
scripts
webpack.config.js
如何離奇。