使用 docker-compose 实例实时重新加载 ionic 2 不起作用



在一个项目中,我有这个Dockerfile

FROM node:6.9.4
RUN npm install -g cordova@4.2.0 ionic@2.2.1
ENV DOCKER_CONTAINER_APP=/web-app
RUN mkdir -p $DOCKER_CONTAINER_APP
ADD . $DOCKER_CONTAINER_APP
WORKDIR $DOCKER_CONTAINER_APP
EXPOSE 8100 35729
RUN echo "ready to go!"

我正在使用 docker-compose,这是我在项目中使用的docker-compose yml文件:

version: '2'
services:
  web:
    build:
      context: .
    environment:
      - NODE_ENV=development
      - DEBUG='true'
    ports:
     - 8100:8100
     - 35729:35729
    volumes:
     - .:/web-app
     - ./node_modules:/web-app/node_modules
    command: sh -c 'npm install; ionic serve --all'
    stdin_open: true

一切正常,这是docker-compose运行Web命令的输出:

[10:53:11]  ionic-app-scripts 1.0.0 
[10:53:18]  watch started ... 
[10:53:18]  build dev started ... 
[10:53:18]  clean started ... 
[10:53:18]  clean finished in 57 ms 
[10:53:18]  copy started ... 
[10:53:18]  transpile started ... 
[10:53:36]  transpile finished in 17.96 s 
[10:53:36]  webpack started ... 
[10:53:37]  copy finished in 19.39 s 
[10:53:51]  webpack finished in 15.10 s 
[10:53:51]  sass started ... 
[10:53:56]  sass finished in 4.90 s 
[10:53:56]  build dev finished in 38.18 s 
[10:53:57]  watch ready in 39.27 s 
[10:53:57]  dev server running: http://localhost:8100/ 

但是原生离子活载不起作用。我怎样才能将 Livereload 与这个离子码头工人映像一起使用?

当我遇到类似的问题时,我注意到浏览器中尝试联系端口 53703 失败。这是屏幕截图:Chrome 开发者工具窗口

我当时使用的容器是用命令创建的

docker run -i -t -d --name ionic-dev -v /home/timur/Work/:/Work/ 
       -p 8100:8100 -p 35729:35729 ionic-dev

所以我停止并删除了它

docker stop ionic-dev
docker rm ionic-dev

并使用命令创建了另一个容器(注意已发布端口 53703)

docker run -i -t -d --name ionic-dev -v /home/timur/Work/:/Work/ 
       -p 8100:8100 -p 35729:35729 -p 53703:53703 ionic-dev

在那之后,livereload开始为我工作。

相关内容

  • 没有找到相关文章

最新更新