Невозможно собрать машинопись на Dockerfile - PullRequest
0 голосов
/ 14 апреля 2020

Я хочу настроить конвейер CD для API машинописного текста / узла. Я использую Dockerfile для загрузки изображений в AWS ECR вручную, и он работает как положено.

FROM node:11-slim
EXPOSE 8080
WORKDIR /usr/src/app
RUN mkdir /usr/src/app/src
COPY  ./node_modules node_modules
COPY  ./dist dist
COPY  ./package.json package.json
ENV PORT=8080
USER node
CMD ["node", "./dist/app.js"]

Для загрузки изображений в AWS ECR Я использую следующий Dockerfile:

FROM node:11-slim
EXPOSE 8080
WORKDIR /usr/src/app
RUN mkdir /usr/src/app/src
COPY  ./package.json package.json
RUN npm add -g typescript
RUN npm install tsc -g
RUN npm install
RUN sh -c tsc -p .
ENV PORT=8080
USER node
CMD ["node", "./dist/app.js"]

Я использую команду RUN sh -c tsc -p . для создания своего проекта. Даже если сборка завершится успешно, в ней не будет папки dist, содержащей встроенный проект в образе.

Вот выдержка из пакета моих проектов. json file:

"scripts": {
    "start": "node dist/app.js",
    "install": "yarn install",
    "postinstall": "tsc -p .",
    "watch": "tsc -w -p .",
    "debug": "nodemon --watch ./dist --inspect=0.0.0.0:9222 --nolazy ./dist/app.js",
    "docker-debug": "sudo tsc  && docker-compose up --build"
},

Когда я использую RUN npm run postinstall, ошибки компилятора: missing script postinstall.

1 Ответ

0 голосов
/ 14 апреля 2020

Единственный исходный файл на вашем изображении - это файл package.json; Там нет ничего для tsc, чтобы построить. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 100, 100% * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 100 *

...