2017-07-14 7 views
2

これは非常に厄介です。Docker ENTRYPOINT/CMDファイルが見つかりません

私はNPM node_modulesに依存関係をインストールするためにインストールし使用していますこの単純なDockerfile、持っている:

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を使用すると、ファイルが存在するように見えます。どのように奇妙な

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 

:あなたにそれを証明するために

が、これは、第二のls -aコマンドの出力です。

答えて

0

ドッキング・ステップでは、ファイルがそこにあり、ls -aがそれを明らかにしました。

しかし、私はドッキングウィンドウの実行を実行していたとき、私はこれを持っていた:

docker run -v "${project_root}/node_modules":/usr/src/app --name ${container_name} ${image_tag} 

のでnode_modulesディレクトリコンテナ内にはsumanディレクトリを持っていなかったコンテナの外からnode_modulesで上書きされていました。

私の悪い家族。

関連する問題