Docker挂载的卷仅在容器重启时更新

时间:2017-05-09 11:34:12

标签: node.js docker aurelia

我有一个Docker容器,它有NodeJs,npm,jspm& aurelia实现了,我的src文件夹包含安装在主机文件系统上的样式,资产,html和js文件。

一切看起来都不错,但是当我在已安装的卷中更新html或js并刷新Web应用程序时,更改不会反映出来。

我的泊坞文件如下;

   FROM node:6.1.0
   MAINTAINER   Webnostix code@webnostix.co.uk

   RUN npm install -g jspm
   RUN apt-get -y install git
   RUN npm install aurelia-cli -g
   RUN npm install gulp -g

   # Setup the script to run on startup
   COPY . /var/www/

   EXPOSE 9000 3001
   WORKDIR /var/www/
   CMD npm install -y && au run —watch

我正在使用包含源代码

的主机目录中的以下命令运行docker容器
    docker run -it --name AureliaBoilerPlate -v $(pwd):/var/www/src -p 9000:9000 -p 3001:3001 webgnostics/aurelia

一切运行正常,我可以在正确的端口等上看到我的网络应用程序。但是,在我的本地目录中进行的代码更改仅在重新启动docker容器时更新,这不是我理解的应该如何工作。

任何想法??

1 个答案:

答案 0 :(得分:0)

您可以尝试使用docker-compose让au run --watch分离。分离后,au build也会刷新应用程序。也许比每次重新启动总容器更好。

通过代码更改刷新应用程序目前不起作用(据我所知)。另请参阅此处的讨论:Github

关注我的docker-compose文件:

version: '2'

services:
  aurelia-cli-runner:
    image: saschan/aurelia-cli:latest
    ports:
      - "9001:9000"
      - "3001:3001"
    volumes:
      - ./app/:/usr/local/etc/app
    working_dir: //usr/local/etc/app
    command: "au run --watch"

启动分离的容器: docker-compose -f docker-compose.yml up -d

刷新应用程序:au build

希望,这有帮助。