docker - Docker容器中的热重载在一段时间后停止工作

标签 docker vue.js docker-compose dockerfile hot-reload

背景

我们使用Docker容器化Vue.js应用程序并使用源代码装载卷。

Docker文件

FROM node:13.8-alpine
RUN yarn install && \
    apk add --no-cache git
COPY . /usr/src/app
WORKDIR /usr/src/app
EXPOSE 8080
CMD ['/bin/sh', 'start_compose.sh']

docker-compose.yml
version: '3'
services:
  web:
    build: .
    volumes:
      - .:/usr/src/app:delegated
    ports:
      - '8080:8080'
    command: ['/bin/sh', 'start_compose.sh']

start_compose.sh
yarn install
npm rebuild node-sass
yarn serve

问题

热重装通常可以正常工作,并且代码更改通常会立即反射(reflect)在浏览器中。

但是经常过一会儿,热重装就会停止工作,并且代码更改不会反射(reflect)在浏览器中。

停止并重新启动容器可以解决此问题一段时间。

问题

是什么导致此问题,解决方案是什么?

谢谢!

最佳答案

将watchOptions添加到vue.config.js似乎有所帮助。

vue.config.js

module.exports = {
  devServer: {
    watchOptions: {
      aggregateTimeout: 300,
      poll: 1000,
    },
  },
};

我仍在测试,看看是否可以解决问题。

关于docker - Docker容器中的热重载在一段时间后停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60411777/

相关文章:

javascript - Vue.js 将插槽传递给包装好的 Bootstrap-Vue 表组件

javascript - 在 D3 v5 中以编程方式停止 dragmove 事件

docker - 将 docker-compose 升级到版本 3

docker - Docker-compose命令在Windows 10上不起作用

docker - 如何通过 Go SDK 流式传输 Docker 容器日志

docker - Docker 中的 Keycloak "Failed to turn code into token"

logging - Winston logger-是否可以记录应用程序的关闭

docker - 如何在docker运行之后但在入口点之前只执行一次init脚本?

javascript - 在第一页加载 Vue.js 时无法访问数据

docker - 部署 docker 应用程序的最简单方法