我想在我的 node.js Web 服务器中使用 typescript。但是,Web 服务器位于 Docker 容器中。我像打击一样使用 Dockerfile:
FROM node:latest
COPY code/ /usr/local/lib
WORKDIR /usr/local/lib
RUN npm install -g koa@2
RUN npm install -g sequelize
RUN npm install -g mysql
RUN npm install -g typescript
CMD ["sh", "-c", "rm", "webApp.js"]
CMD ["sh", "-c", "tsc", "webApp.ts"]
CMD ["node", "webApp.js"]
构建 Docker 后,我发现在执行 CMD 命令后没有生成 webApp.js。 为什么,我应该如何解决它?谢谢。
最佳答案
在创建 Dockerfile 时的最佳实践中,您应该只使用一个 CMD
和一个 ENTRYPOINT
。
在你的情况下,它应该是:
COPY code/ /usr/local/lib
WORKDIR /usr/local/lib
RUN npm install -g koa@2
RUN npm install -g sequelize
RUN npm install -g mysql
RUN npm install -g typescript
RUN sh -c rm webApp.js
RUN sh -c tsc webApp.ts
CMD ["node", "webApp.js"]
关于node.js - 无法在 Docker 中编译 typescript ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38280217/