带有热重载的Docker容器上的Vue.js应用

dev*_*234 7 docker vue.js docker-compose vuejs2 hot-reload

在docker实例上运行vue.js应用程序时,我出现了明显的延迟和高CPU使用率。

这是我的Docker设置

docker-compose.yml

version: '2'
services:

  app:
    build:
      context: ./
      dockerfile: docker/app.docker
    working_dir: /usr/src/app
    volumes:
    - ~/.composer-docker/cache:/root/.composer/cache:delegated
    - ./:/usr/src/app
    stdin_open: true
    tty: true
    environment:
    - HOST=0.0.0.0
    - CHOKIDAR_USEPOLLING=true
    ports:
    - 8080:8080
Run Code Online (Sandbox Code Playgroud)

app.docker

# base image
FROM node:8.10.0-alpine

# Create app directory
WORKDIR /usr/src/app

# Install app dependencies
COPY package*.json ./

RUN npm install

# Bundle app source
COPY . .

EXPOSE 8080

CMD [ "npm", "run", "serve"]
Run Code Online (Sandbox Code Playgroud)

当我键入docker-compose up -d并且我的应用程序正在http:// localhost:8080 /中 加载时,此设置可以正常工作,但在10秒后进行热重装,然后15秒像明智的那样不断增加,并且我的笔记本电脑cpu使用率达到60且仍在增加

我使用的Mac Book Pro具有16 GB RAM,对于Docker,我启用了4个CPU和6 GB RAM。

该问题如何解决?

Dig*_*ter 6

delegatedcached选项之一添加到安装应用程序目录的卷中。特别是使用缓存,我的性能得到了显着提高:

volumes:
  - ~/.composer-docker/cache:/root/.composer/cache:delegated
  - ./:/usr/src/app:cached
Run Code Online (Sandbox Code Playgroud)