私のDockerfileには、次の「COPY」ステートメントがあります。
# Copy app code
COPY /srv/visitor /srv/visitor
ホストシステムの「/ srv / visitor」ディレクトリの下に、ソースコードがあることは言うまでもありません。
[root@V12 visitor]# ls /srv/visitor/
Dockerfile package.json visitor.js
さて、このDockerfileを使用してイメージを作成しようとすると、「COPY」が発生するはずのステップでハングします。
Step 10 : COPY /srv/visitor /srv/visitor
INFO[0155] srv/visitor: no such file or directory
そのようなディレクトリは存在しないと言われていますが、明らかに存在します。
何か案は?
更新1:
ビルドコンテキストを理解する方法で、私は間違っていたと指摘されました。提案は、「COPY」ステートメントをこれに変更することになりました。
COPY . /srv/visitor
問題は、私がこのようにしていたことであり、ビルドプロセスが次のステップで停止したことです。
RUN npm install
「package.jsonファイルが見つかりません」という行に沿って何かがはっきりとあると言った。
更新2:
Dockerfileに次の変更を加えて実行してみました。
COPY source /srv/visitor/
npmを実行しようとすると停止しました:
Step 12 : RUN npm install
---> Running in ae5e2a993e11
npm ERR! install Couldn't read dependencies
npm ERR! Linux 3.18.5-1-ARCH
npm ERR! argv "/usr/bin/node" "/usr/sbin/npm" "install"
npm ERR! node v0.10.36
npm ERR! npm v2.5.0
npm ERR! path /package.json
npm ERR! code ENOPACKAGEJSON
npm ERR! errno 34
npm ERR! package.json ENOENT, open '/package.json'
npm ERR! package.json This is most likely not a problem with npm itself.
npm ERR! package.json npm can't find a package.json file in your current directory.
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
INFO[0171] The command [/bin/sh -c npm install] returned a non-zero code: 34
それで、コピーは実行されましたか?はいの場合、npmがpackage.jsonを見つけることができないのはなぜですか?