Vue.js 应用程序在 docker 容器上热重载
Vue.js app on a docker container with hot reload
当 运行 我的 vue.js 应用程序在 docker 实例上时,我有明显的延迟和高 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% 并且还在增加
我在 mac book pro 上使用 16 GB 内存,对于 docker 我启用了 4 cpu 和 6 GB 内存。
如何解决这个问题?
将 delegated
或 cached
选项之一添加到安装您的应用程序目录的卷。特别是使用缓存后,我体验到了显着的性能提升:
volumes:
- ~/.composer-docker/cache:/root/.composer/cache:delegated
- ./:/usr/src/app:cached
当 运行 我的 vue.js 应用程序在 docker 实例上时,我有明显的延迟和高 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% 并且还在增加
我在 mac book pro 上使用 16 GB 内存,对于 docker 我启用了 4 cpu 和 6 GB 内存。
如何解决这个问题?
将 delegated
或 cached
选项之一添加到安装您的应用程序目录的卷。特别是使用缓存后,我体验到了显着的性能提升:
volumes:
- ~/.composer-docker/cache:/root/.composer/cache:delegated
- ./:/usr/src/app:cached