Я пытаюсь докернизировать приложение моего узла, но не могу понять, почему оно не может найти пакет. Файл json, потому что файл пакета. json находится по тому же пути, что и docker составить и докерфайл. Вот структура папок:
![enter image description here](https://i.stack.imgur.com/RjG8f.png)
Ниже приведен файл Docker:
Файл Docker
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:
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
продолжение | ошибка Не удалось найти пакет. json файл в "/"
cont | info Посетите https://yarnpkg.com/en/docs/cli/run для получения документации об этой команде.
продолжение завершено с кодом 1
Я пробовал это , но все Решения, которые я пробовал, не работают. У кого-нибудь есть решение этого?