簡體   English   中英

運行 npm install 時 Docker 沒有這樣的文件 package.json

[英]Docker no such file package.json when running npm install

我在 Windows 10 上運行 Docker,當我運行 docker docker-compose up -d此錯誤,但我不知道為什么。

npm WARN saveError ENOENT: no such file or directory, open '/var/www/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/var/www/package.json'
npm WARN www No description
npm WARN www No repository field.
npm WARN www No README data
npm WARN www No license field.

這是我的 docker-compose.yaml文件

version: '3'
services:

  # Nginx client app server
  nginx-client:
    container_name: nginx-client
    build:
        context: ./docker/nginx-client
        dockerfile: Dockerfile
    restart: unless-stopped
    ports:
      - 28874:3000
    volumes:
        - ./client:/var/www
    networks:
      - app-network


# Networks
networks:
  app-network:
    driver: bridge

這是我的Dockerfile

FROM node:12
WORKDIR /var/www
RUN npm install
CMD ["npm", "run", "serve"]

發生這種情況是因為首先您要從 Dockerfile 構建一個映像,其中包含以下命令:

WORKDIR /var/www
RUN npm install

但是現在這個目錄是空的。 只有在創建容器之后,才會進行綁定掛載。 你可以在文檔中閱讀更多關於它的信息,它指出:

服務定義包含應用於為該服務啟動的每個容器的配置,就像將命令行參數傳遞給 docker run 一樣。 同樣,網絡和卷定義類似於docker network createdocker volume create

如果您需要在映像構建時使用此文件,我建議使用 COPY 命令,例如:

COPY ./client/package*.json ./
RUN npm install

暫無
暫無

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

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