Как правильно докеризировать приложение express gatsby? - PullRequest
1 голос
/ 04 марта 2020

ПРОБЛЕМА. У меня есть приложение express -gatsby, которое мне нужно создать и развернуть с помощью действий github. Из того, что я понял, мне нужно будет контейнировать мое приложение, чтобы доставить его в Heroku. Для этого я создал Dockerfile, но для создания образа мне нужно установить пакеты npm для моего приложения express и gatsby, а затем выполнить сборку.

Когда я запускаю docker build, он застревает при npm run install. Спасибо за любую помощь в этом. Спасибо.

скриншот для docker build

. json

 "scripts": {
    "install": "npm install && cd /client && install",
    "build": "cd client/ && npm run build && cd .. && node ./util/build.js",
    "lint": "tslint --project \"tsconfig.json\"",
    "start": "node -r module-alias/register ./dist",
    "start:dev": "nodemon --config nodemon.json",
    "test": "nodemon --config nodemon.test.json"
  },

Dockerfile

FROM node:10-slim

WORKDIR /usr/src/app

RUN npm install -g gatsby-cli

COPY / ./

RUN npm run install

RUN npm run build

EXPOSE 8081

ENV NODE_ENV=production

ENV PORT=8081

RUN ls

CMD ["npm", "run", "start"]

1 Ответ

3 голосов
/ 04 марта 2020

Я бы сказал, что вы хотите установить npm пакетов внутри клиента:

"install": "npm install && cd /client && npm install"

Отсутствует npm там ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...