【发布时间】:2020-05-24 10:42:33
【问题描述】:
我正在尝试在 Docker 容器中运行 Angular 应用程序。
我做了以下步骤:
1) 在我的机器上安装了 npm (v.3.5.2) 和 node (v. 12.15.0) 和 angular CLI (v. 9.0.1)
2) 在我的机器上创建了一个 Angular 项目 (ng new mean-app --skip-install)
3)在项目内部导航,创建了一个Dockefile,内容如下:
From node:12.15.0-alpine
RUN mkdir -p /app
WORKDIR /app
COPY package.json /app/
RUN ["npm","install"]
COPY . /app
EXPOSE 4200/tcp
CMD ["npm", "start", "--", "--host", "0.0.0.0", "--poll", "500"]
4) 然后我构建了容器镜像 (sudo docker built -t mean-app)
5) 然后我开始启动容器 (sudo docker run -it --rm -p 4200:4200 -v ${pwd}/src:/app/src mean-app)
结果:
构建成功,容器启动,但是我收到以下错误消息:
ERROR in multi (webpack)-dev-server/client?http://0.0.0.0:0/sockjs-node&sockPath=/sockjs-node ./src/main.ts
Module not found: Error: Can't resolve '/app/src/main.ts' in '/app'
ERROR in multi ./src/polyfills.ts
Module not found: Error: Can't resolve '/app/src/polyfills.ts' in '/app'
ERROR in multi ./src/styles.css
Module not found: Error: Can't resolve '/app/src/styles.css' in '/app'
ERROR in Must have a source file to refactor.
我找不到人们收到这些错误消息的任何其他帖子......我非常感谢任何帮助。
【问题讨论】:
-
我刚刚执行到正在运行的容器中 - npm 和节点版本与我的机器上的相同。
-
容器内的src文件夹为空。所以我目前怀疑 Dockerfile 中的以下命令存在问题:
COPY . /app我已经尝试过COPY . /app/并且还添加了COPY ./src /app/src没有成功目录保持为空...
标签: angular docker npm node-modules