我ng serve在运行的docker容器中遇到了一些问题docker-compose.
Dockerfile
FROM node:7.1
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app
RUN npm install
RUN npm install -g angular-cli
COPY . /usr/src/app
EXPOSE 4200
CMD [ "npm", "start" ]'
Run Code Online (Sandbox Code Playgroud)
还有我的docker-compose.yml
web:
build: .
ports:
- '8089:4200'
volumes:
- .:/usr/src/app/
environment:
- NODE_ENV=dev
command: bash -c "npm start"
Run Code Online (Sandbox Code Playgroud)
当我运行它时,一切都很好,但编辑文件不会重新加载应用程序.文件已更改,我确定因为我通过ssh连接检查它并且编辑了容器中的文件.当容器重新启动时,每次更改都会应用.我想当我只用码头工人用建筑图像切换来构图时这会消失,但不要.
当我通过docker exec webpack重新加载所有文件来调用触摸某个文件时,无需重新启动容器即可工作.
有人有解决方案吗?
我正在运行这个项目https://github.com/postlight/headless-wp-starter.我已经能够让一切工作达到一定程度.后端工作正常,但是,前端有一个bug.
在说明中它说要运行yarn start以启动前端服务器,应该是next.js.现在技术上工作正常,它继续运行localhost:3000.但是,当我修改scss文件时frontend/src/styles,它不会在shell中重新渲染,并且浏览器中没有热重新加载,即使按下刷新也不会显示样式更改.但是,如果我停止使用纱线,ctrl + c然后再次运行它,yarn start我的样式会显示在浏览器刷新上.
我在docker for Windows下运行所有东西,所以不知道这是一个限制,还是可能是一个bug.我已经在他们的github上发布了一个问题,但是认为在这里查看也没有什么坏处.
我能想到的唯一代码是分享package.json它就是这样.提前谢谢.
{
"name": "frontend",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "next build",
"start": "node server.js",
"docker:build": "docker build -t frontend .",
"docker:clean": "docker rm -f frontend || true",
"docker:run": "docker run -p 3000:3000 --name frontend frontend",
"docker:stop": "docker stop frontend",
"docker:start": "docker start frontend && yarn run docker:logs",
"docker:logs": "docker …Run Code Online (Sandbox Code Playgroud)