0

基本的に、メイン ディレクトリと Books ディレクトリがあります (一般的なファイル構造、他にもありますが、これらは重要な部分です)。そのため、main から booksServer へのリクエストを発行しても、ノード モジュールが見つからないため機能しません。

これは、ノード モジュールが特定のパス '/usr/src/app'の docker コンテナー内にあるためです。

ブック (サービス/コンテナー) がこの特定のパス内に適切なノード パッケージを持っていることを main.js に確認させるにはどうすればよいですか?

docker-compose は使えると思いますが、まずは docker-compose を使わずに個別にテストしたいと思いました。

**-Main Directory (Individual Service, has its own container)**
  -Initiator (Fires commands) 
  -DockerFile

**-Books Directory (Individual Service, has its own container)**
  -Stubs
     -BooksStub.js (NEED THIS!, but it won't work because needs npm modules which is located in its container @/usr/src/app. How can I access the nodemodules that it's using?)

  -booksServer.js
  -Package*.json (lock and package.json)
  -DockerFile

内部

エラー:

internal/modules/cjs/loader.js:800
    throw err;
    ^

Error: Cannot find module 'grpc'

書籍の Dockerfile

FROM node:12.14.0
WORKDIR /usr/src/app
COPY package*.json ./
COPY . /usr/src/app
RUN npm install
EXPOSE 30043
CMD ["node", "booksServer.js"]

メイン DockerFile

FROM node:12.14.0
WORKDIR /usr/src/app
COPY package*.json ./
COPY . /usr/src/app
RUN npm install
EXPOSE 4555
CMD ["node", "main.js"]
4

1 に答える 1