【问题标题】:Can't access Ionic from browser while using docker使用docker时无法从浏览器访问Ionic
【发布时间】:2021-01-02 21:02:44
【问题描述】:

我正在尝试访问 localhost:8100,这是我在 docker 容器中运行但无法打开的离子应用程序。 这是我的 dockerfile :

FROM node:10.16.3


WORKDIR /usr/src/ionic-app


COPY ./ /usr/src/ionic-app

RUN npm install -g cordova ionic
RUN npm install

这是我的 Docker-compose 文件 版本:'3.6'

服务:

  #Backend API
  backend-api:
    container_name: backend
    build:
      context: ./api/
    working_dir: /usr/src/smart-brain-api
    command: npm run debug
    ports:
      - "3000:3000"
    environment:
      REDIS_HOST: redis
      MONGOOSE_URI: 'mongodb://mongo:27017/appcomdill'
    links:
      - mongo
      - redis

  #MongoDB
  mongo:
    container_name: mongo
    image: mongo
    environment:
      MONGOOSE_URI: 'mongodb://mongo:27017/appcomdill'
    ports:
      - "27017:27017"

  #Redis
  redis:
    container_name: redis
    environment:
      REDIS_HOST: redis
    image: redis
    ports:
      - "6379:6379"

  #Ionic Front-end
  ionic:
    container_name: front-end
    build:
      context: ./ionic
    working_dir: /usr/src/ionic-app
    command: ionic serve
    ports:
      - "8100:8100"

每次我尝试连接到 http://localhost:8100/ 时,它都会不断给我“本地主机没有发送任何数据”

【问题讨论】:

  • 你能分享你的离子容器的日志吗?
  • 你试过在你的 dockerfile 中暴露 8100 吗?这与 docker-compose.yml 中的绑定不同
  • @CristianCordova 控制台日志由于某种原因是空的:/ .
  • @BrianDucca 仍然无法正常工作
  • 你的离子镜像的docker构建过程的日志呢?并尝试使用类似的命令运行您的离子图像,例如 docker run -p 8100:8100 my_ionic_image

标签: node.js docker ionic-framework


【解决方案1】:

尝试将您的命令更改为ionic serve --external

【讨论】:

  • 有效!!我搜索了很多这样的解决方案,谢谢!
【解决方案2】:

正如Joseph 提到的,您可以通过指定 --external 选项来解决此问题

这在 ionic docs:

中有解释

默认情况下,ionic serve 在 localhost 上启动开发服务器。要为您的 LAN 提供服务,请指定 --external 选项,该选项将使用所有网络接口并打印为您的应用提供服务的外部地址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-04
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多