簡體   English   中英

Docker compose 在路徑中找不到 package.json

[英]Docker compose cant find package.json in path

我正在嘗試 dockerize 我的節點應用程序,但我似乎無法理解為什么它找不到 package.json 文件,因為 package.json 文件與 docker compose 和 dockerfile 位於同一路徑中。 這是文件夾結構:

在此處輸入圖片說明

下面是 dockerfile:

文件

FROM node:12

# RUN mkdir -p ./usr/src/app/
COPY . /usr/src/app/

WORKDIR /usr/src/app/

# ADD package.json /usr/src/app/package.json
COPY package*.json ./

RUN yarn
RUN yarn global add pm2

COPY . .

EXPOSE 3005
EXPOSE 9200

CMD yarn start:dev

和 docker compose 文件:

docker-compose.yml

version: "3.6"
services:
  api:
    image: node:12.13.0-alpine
    container_name: cont
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 3005:3005
    environment:
      - JWT_TOKEN_SECRET=ajsonwebtokensecret
      - MONGO_URI=mongodb://localhost:27017/em
      - PORT=3005
      - MAIL_USER=******
      - MAIL_PASS=******
      - FORGOT_PASS_EMAIL=noreply@em.com
      - CLIENT_SIDE_URL=http://localhost:3001
      - ELASTICSEARCH_URI=http://localhost:9200
   volumes:
      - .:/usr/src/app/
    command: yarn start:dev
    links:
      - elasticsearch
    depends_on:
      - elasticsearch
    networks:
      - esnet
  elasticsearch:
    container_name: em-elasticsearch
    image: docker.elastic.co/elasticsearch/elasticsearch:7.6.0
    volumes:
      - esdata:/usr/share/elasticsearch/data
    environment:
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.type=single-node
    logging:
      driver: none
    ports:
      - 9300:9300
      - 9200:9200
    networks:
      - esnet
volumes:
  esdata:
networks:
  esnet:

當我嘗試運行docker compose up此錯誤

續 | 紗線運行 v1.19.1

續 | 錯誤在“/”中找不到 package.json 文件

續 | info 訪問https://yarnpkg.com/en/docs/cli/run獲取有關此命令的文檔。

繼續以代碼 1 退出

我試過這個,但我試過的所有解決方案都不起作用。 有沒有人有解決方案?

相對路徑。 請注意,有效的 COPY 命令是COPY . . COPY . . . . 意思是“當前目錄”。 所以你需要的是:

COPY ./package*.json ./

您可以通過運行docker build -t scratch .來簡化調試docker build -t scratch . 從等式中消除 docker-compose 。 始終將其降低到絕對最小的復制器以隔離確切的問題。

暫無
暫無

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

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