执行以下步骤:
定义 Dockerfile:
FROM node:alpine RUN yarn global add @angular/cli RUN yarn global add node-sass RUN mkdir /volumes WORKDIR /volumes EXPOSE 4200 ENTRYPOINT ["ng"]
从此 Dockerfile 构建映像:
docker build -t my_angular_image .
使用图像创建一个新的 Angular 应用程序:
// Create the new app docker run --rm --mount type=bind,src=$PWD,dst=/volumes my_angular_image new my-app --directory app --style scss // Change ownership of the generated app sudo chown -R $USER:$USER .
根据镜像,运行容器绑定挂载应用卷:
docker run -p 4200:4200 --mount type=bind,src=$PWD/app,dst=/volumes my_angular_image serve --host 0.0.0.0
结果:
第一次编译按预期工作,容器为应用程序提供服务。但是,当更改必须ng serve
在容器中监视的文件的值(来自主机)时,不会触发新的角度构建(因此,服务的应用程序不会更新)。
问题:
有人知道为什么在主机上更改绑定挂载卷的值不会触发ng serve
容器中的角度更新(就像不使用 Docker 时那样)?
环境:
- 操作系统:Ubuntu 16.04
- 码头工人:18.01.0-ce