Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 6.0.3在docker中不起作用,因为它找不到模块@Angular devkit/build Angular_Angular_Docker_Angular6 - Fatal编程技术网

Angular 6.0.3在docker中不起作用,因为它找不到模块@Angular devkit/build Angular

Angular 6.0.3在docker中不起作用,因为它找不到模块@Angular devkit/build Angular,angular,docker,angular6,Angular,Docker,Angular6,我试图在docker compose环境中添加我的angular6应用程序。我在本地创建了该项目,它可以工作,但在docker compose build和docker compose up之后,它会发送下一个错误: angular6@0.0.0 start /usr/src/app > ng serve --host 0.0.0.0 --disable-host-check -p 3000 Could not find module "@angular-devkit/build-ang

我试图在
docker compose
环境中添加我的angular6应用程序。我在本地创建了该项目,它可以工作,但在
docker compose build
docker compose up
之后,它会发送下一个错误:

angular6@0.0.0 start /usr/src/app
> ng serve --host 0.0.0.0 --disable-host-check -p 3000

Could not find module "@angular-devkit/build-angular" from "/usr/src/app".
Error: Could not find module "@angular-devkit/build-angular" from "/usr/src/app".
    at Object.resolve (/usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/core/node/resolve.js:141:11)
    at Observable.rxjs_1.Observable [as _subscribe] (/usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/architect/src/architect.js:132:40)
    at Observable.subscribe (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/Observable.js:162:69)
    at DoOperator.call (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/operators/tap.js:71:23)
    at Observable.subscribe (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/Observable.js:159:22)
    at /usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/util/subscribeTo.js:22:31
    at Object.subscribeToResult (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/util/subscribeToResult.js:7:45)
    at MergeMapSubscriber._innerSub (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/operators/mergeMap.js:132:38)
    at MergeMapSubscriber._tryNext (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/operators/mergeMap.js:129:14)
    at MergeMapSubscriber._next (/usr/local/lib/node_modules/@angular/cli/node_modules/rxjs/internal/operators/mergeMap.js:112:18)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! angular6@0.0.0 start: `ng serve --host 0.0.0.0 --disable-host-check -p 3000`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the angular6@0.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
angular-ayaresa    |
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-05-23T10_03_17_591Z-debug.log
这是我的角度Dockerfile:

# Create image based on the official Node 8.10.0 image from dockerhub
FROM node:8.10.0
# Create a directory where our app will be placed
RUN mkdir -p /usr/src/app

# Change directory so that our commands run inside this new directory
WORKDIR /usr/src/app

# Copy dependency definitions
COPY ./quickstart /usr/src/app

# Install dependecies
RUN rm -rf node_modules/

RUN npm i --save

RUN npm i npm@latest -g
RUN npm install -g @angular/cli

# Expose the port the app runs in
EXPOSE 4200

# Serve the app
CMD ["npm", "start"]

模块
@angular devkit/build angular
已正确安装并包含在
package.json中。您的docker文件中有一个错误
您执行了WORKDIR并将其设置为/usr/src/app

这意味着,上下文将切换到该文件

因此,当您执行
COPY./quickstart/usr/src/app
时,应该是
COPY./quickstart.

docker文档说

路径必须在生成的上下文中;您无法复制../something/something,因为docker构建的第一步是将上下文目录(和子目录)发送到docker守护进程。

参考:

我发现了问题

我已删除docker-compose.yml中的一行

angular-ayaresa:
    build:
      context: build/angular
    ports:
          - "4200:4200"
    volumes:
      - ../source/angular:/usr/src/app/
      - /usr/src/app/node_modules/ // <-- this line
    container_name: angular-ayaresa
    networks:
      - ayaresa-network
angular ayaresa:
建造:
上下文:构建/角度
端口:
- "4200:4200"
卷数:
-../source/angular:/usr/src/app/
-/usr/src/app/node\u模块///