2017-05-09 67 views
0

我有一个docker容器,它具有NodeJs,npm,jspm & aurelia实现,我的src文件夹包含在主机文件系统中装载的样式,资产,html和js文件。在容器重启时Docker安装卷只有更新

一切看起来不错,但是当我更新装入的卷中的html或js并刷新web应用程序时,更改未反映出来。

我的docker文件如下;

FROM node:6.1.0 
    MAINTAINER Webnostix [email protected] 

    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 run -it --name AureliaBoilerPlate -v $(pwd):/var/www/src -p 9000:9000 -p 3001:3001 webgnostics/aurelia 

一切运行正常,我可以看到正确的端口等对我的web应用程序。但是在本地目录中进行的代码更改只会在重新启动Docker容器时更新,这不是我所知道的,它应该如何工作。

任何想法??

+0

您使用哪种文本编辑器来编辑代码? – kstromeiraos

+0

嗨,何塞,我曾尝试使用VSC以及纳米,因为我听说unix/linux保存文件的方式,你认为这也适用于纳米? –

+0

它应该工作,如果你使用纳米。 – kstromeiraos

回答

0

您可以尝试使用docker-compose运行分离的au run --watch。分开后,au build也会刷新应用程序。也许比每次重新启动整个容器都好。

通过代码更改获取应用程序刷新目前不起作用(据我所知)。也看到这个讨论在这里:Github

关注我的搬运工,撰写文件:

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

希望,它帮助。