web-dev-qa-db-ja.com

ホットリロードを備えたDockerコンテナ上のVue.jsアプリ

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

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"]

このセットアップは、docker-compose up -dと入力し、アプリがロードされているときに正常に機能します http:// localhost:8080 / しかし、ホットリロードは10秒後に発生し、その後15秒は増加し続けますラップトップのCPU使用率は60%になり、それでも増加しています

私は16GBのRAMを搭載したMacBook Proを使用しており、Dockerでは4CPUと6GBのRAMを有効にしています。

この問題はどのように解決できますか?

7
dev1234

delegatedまたはcachedオプションのいずれかをアプリディレクトリをマウントするボリュームに追加します。特にキャッシュを使用すると、パフォーマンスが大幅に向上しました。

volumes:
  - ~/.composer-docker/cache:/root/.composer/cache:delegated
  - ./:/usr/src/app:cached
6
DigitalDrifter