簡體   English   中英

docker-compose npm 錯誤! 缺少腳本:開始

[英]docker-compose npm ERR! missing script: start

我正在嘗試使用 docker-compose 啟動多個服務,但我得到了

npm ERR! missing script: start

當我運行 docker-compose up 命令時在我的控制台中

注意我可以使用 docker run 命令單獨啟動每個服務。

下面是我的 docker-compose.yml 文件的副本

 version: '3.4' services: clientservice: image: clientapplication build: context: . dockerfile: ./client/Dockerfile environment: NODE_ENV: production ports: - "3000:3000" networks: - blogmicroservice commentservice: image: commentsservice build: context: . dockerfile: ./comments/Dockerfile environment: NODE_ENV: production ports: - "4001:4001" networks: - blogmicroservice moderationservice: image: moderationservice build: context: . dockerfile: ./moderation/Dockerfile environment: NODE_ENV: production ports: - "4003:4003" networks: - blogmicroservice postservice: image: postservice build: context: . dockerfile: ./posts/Dockerfile environment: NODE_ENV: production ports: - "4000:4000" networks: - blogmicroservice eventbusservice: image: eventbus build: context: . dockerfile: ./event-bus/Dockerfile environment: NODE_ENV: production ports: - "4005:4005" networks: - blogmicroservice queryservice: image: queryservice build: context: . dockerfile: ./query/Dockerfile environment: NODE_ENV: production ports: - "4002:4002" networks: - blogmicroservice networks: blogmicroservice: driver: bridge

單個服務的 docker 文件示例

 FROM node:12.18-alpine ENV NODE_ENV=production WORKDIR /usr/src/app COPY ["package.json", "package-lock.json*", "./"] RUN npm install --production --silent COPY . . EXPOSE 4002 CMD ["npm", "start"]

在 docker-compose 文件中,所有服務都使用相同的上下文

build:
  context: .

這意味着所有文件都將在構建時復制到 docker 守護進程。 這是不太可能的情況,因為不同的應用程序不能具有相同的代碼庫。 如果每個鏡像都能正常運行,那么問題可能不在於Dockerfile。 您可以將上下文更改為正確的目錄:

build:
  context: ./your-server

請注意,context: provided 中的值是一個相對路徑時,它被解釋為相對於 Compose 文件的位置。 此目錄也是發送到 Docker 守護程序的構建上下文。 . 因此,您甚至可能不需要指定 Dockerfile 位置。

我解決了這個問題 ..docker-compose.yml 中的上下文不合適,將其更新為此,現在啟動正常

 version: '3.4' services: clientservice: image: clientapplication build: context: ./client dockerfile: ./Dockerfile environment: NODE_ENV: production ports: - "3000:3000" networks: - blogmicroservice commentservice: image: commentsservice build: context: ./comments dockerfile: ./Dockerfile environment: NODE_ENV: production ports: - "4001:4001" networks: - blogmicroservice moderationservice: image: moderationservice build: context: ./moderation dockerfile: ./Dockerfile environment: NODE_ENV: production ports: - "4003:4003" networks: - blogmicroservice postservice: image: postservice build: context: ./posts dockerfile: ./Dockerfile environment: NODE_ENV: production ports: - "4000:4000" networks: - blogmicroservice eventbusservice: image: eventbus build: context: ./event-bus dockerfile: ./Dockerfile environment: NODE_ENV: production ports: - "4005:4005" networks: - blogmicroservice queryservice: image: queryservice build: context: ./query dockerfile: ./Dockerfile environment: NODE_ENV: production ports: - "4002:4002" networks: - blogmicroservice networks: blogmicroservice: driver: bridge

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM