2016-08-10 11 views
0

これは私のディレクトリ構造for docker microservicesです。私がする必要があるのは、ホストマシン上のlibフォルダから特定のファイルをコンテナに共有することです。これらはcontainers.Thisの両方でアプリケーションを実行するために必要とされるのlibファイルであることは、私は、このコマンドを使用してドッカイメージを構築するコンテナpropinfoファインダの1複数のドッカーコンテナ間でホストディレクトリを共有するにはどうすればよいですか?

FROM alpine:3.3 

RUN apk add --update nodejs 

RUN mkdir -p /usr/src/app 
WORKDIR /usr/src/app 

COPY . /usr/src/app 
RUN npm install 

EXPOSE 3000 

WORKDIR /usr/src/app 
CMD node index.js 

内の私のドッキングウィンドウのファイルのいずれかからコンテンツですdocker build -t nodeapp/premcal .ビルドプロセスは成功です。そして、私はそれがbinフォルダが、私はこのエラー

module.js:328 
 
    throw err; 
 
    ^
 

 
Error: Cannot find module '/usr/src/app/index.js' 
 
    at Function.Module._resolveFilename (module.js:326:15) 
 
    at Function.Module._load (module.js:277:25) 
 
    at Function.Module.runMain (module.js:442:10) 
 
    at startup (node.js:136:18) 
 
    at node.js:966:3
に取得しています、それを実行した後

docker run -v $PWD/lib:/usr/src/app -p 3010:3000 -i nodeapp/premcal

に位置して親ディレクトリから を実行するためにコンテナにディレクトリ binをマウント/マッピングするために、このコマンドを使用します

ホストは物理的なUbuntuマシンです。

誰でも私にこれをいかにするか教えてください。私が持っているのは、node.jsとドッカー環境で2時間の経験です。 ありがとうございます。

+0

どのexcatly javascriptファイルを実行したいのか、目的を明確にしてください。イメージの '/ usr/src/app'フォルダを、そのディレクトリにマウントした内容で上書きしているようです。 'index.js'はどこから来たのですか? –

答えて

0

私はnode.jsの専門家ではありませんが、index.jsを実行しようとしていますが、libフォルダ内にindex.jsがありません。

docker run -v $PWD/lib:/usr/src/app -p 3010:3000 -i \ 
    davesrepo/dynamo node disco.js 
0

実行docker run -v $PWD/lib:/usr/src/app -p 3010:3000 -i davesrepo/dynamo bashとは/ usr/src /アプリderiectoryを見てみましょう:あなたはdisco.jsを実行したい場合は、それは次のようになります。

libフォルダを正常にマウントしていないか、権限エラーがあります。

0

データ専用コンテナを使用して複数のコンテナ間でディレクトリを共有できます。

here,here、さらにはhereがあります。

関連する問題