当运行docker-compose up
时,我在尝试构建我的nodejs代码时不断收到babel错误,因为它是用ES6编写的,带有导入而不是const。
Babel Server.js -d dist && Babel SRC -D dist/SRC
巴别塔: 服务器.js不存在
我的目录结构是:
-
服务器.js
-
来源
- 所有其他 JS 文件
我应该如何设置我的 Dockerfile,因为我在创建容器时显然不了解文件位置。
到目前为止,我已经尝试将我的构建位置移动到 dist 文件夹而不是构建,但这只是文件重命名。我还尝试将COPY .
更改为COPY server.js
,但也失败了。
Dockerfile
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
包.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
之路
COPY . /usr/src/api
路径
将路径作为路径放在workdir
复制命令中
COPY . /usr/src/app/api