[英]How do I setup Dockerfile to run babel after install?
當運行docker-compose up
時,嘗試構建我的nodejs代碼時docker-compose up
我總是遇到babel錯誤,因為它是用ES6編寫的,帶有導入功能,而不是const。
babel server.js -d dist && babel src -d dist / src
babel:server.js不存在
我的目錄結構是:
server.js
src
我應該如何設置Dockerfile,因為在創建容器時我顯然不了解文件位置。
到目前為止,我已經嘗試將構建位置移動到dist文件夾而不是構建,但這只是文件重命名。 我還嘗試更改COPY .
到COPY server.js
,也失敗了。
Docker文件
FROM node:latest
WORKDIR /usr/src/app/api
COPY package.json /usr/src/app/api
RUN npm install
COPY . /usr/src/api
RUN npm run build
EXPOSE 4000
CMD npm run start
package.json
"scripts": {
"build": "babel server.js -d dist && babel src -d dist/src",
"dev-start": "babel-watch server.js",
"start": "npm run build && node dist/server.js"
}
我希望容器在構建完應用程序后完成創建,並且當前的實際結果是構建失敗和容器故障。
似乎您在COPY
命令中的路徑錯誤
您在WORKDIR /usr/src/app/api
路徑WORKDIR /usr/src/app/api
COPY . /usr/src/api
路徑COPY . /usr/src/api
COPY . /usr/src/api
將路徑作為您的路徑放入workdir
,例如COPY . /usr/src/app/api
的復制命令COPY . /usr/src/app/api
COPY . /usr/src/app/api
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.