javascript - 带有 docker-compose 实例的 ionic 2 Livereload 不起作用

标签 javascript node.js docker ionic2 livereload

在一个项目中,我有这个 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 run 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/ 

但是原生 ionic livereload 不起作用。如何将 Livereload 与此 ionic docker 图像一起使用?

最佳答案

当我遇到类似问题时,我注意到浏览器尝试联系端口 53703 失败。这是屏幕截图: Chrome developer tools window

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

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 开始为我工作。

关于javascript - 带有 docker-compose 实例的 ionic 2 Livereload 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41762139/

相关文章:

javascript - 单击不相关按钮时提交表单

javascript - 如何使用 jQuery 发送包含特殊字符的查询字符串数据?

javascript - 什么是 promise 处理器模式?

performance - Node.JS 响应时间

javascript - text() 与 .parent().html() 后续更改的 JQuery 行为

javascript - 使用 angular-ui-ace 时看不到 ace 编辑器

node.js - 如何强制排除 NPM 的嵌套依赖项?

python - Django 无法在 Docker 设置中连接到 Postgres

linux - "usermod: UID ' 0 ' already exists"为什么?

docker - 如何实现微服务[Node.js]?