首页 > 解决方案 > 无法热重载与 Docker 集成的我的离子应用程序

问题描述

我有这个 Dockerfile

FROM node:15.11.0-alpine

#ENVIRONNEMENT
ENV GLIB_PACKAGE_BASE_URL https://github.com/sgerrand/alpine-pkg-glibc/releases/download
ENV GLIB_VERSION 2.25-r0

ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk

ENV GRADLE_HOME /usr/local/gradle
ENV GRADLE_VERSION 4.4

ENV ANDROID_HOME /usr/local/android-sdk-linux
ENV ANDRDOID_TOOLS_VERSION r25.2.5
ENV ANDROID_API_LEVELS android-26
ENV ANDROID_BUILD_TOOLS_VERSION 26.0.2
ENV IONIC_VERSION 5

ENV PATH ${GRADLE_HOME}/bin:${JAVA_HOME}/bin:${ANDROID_HOME}/tools:$ANDROID_HOME/platform-tools:$PATH

# INSTALL JAVA
RUN apk update ...

# INSTALL IONIC AND CORDOVA
RUN npm install -g cordova ionic@${IONIC_VERSION}

#INSTALL Graddle
RUN mkdir -p ${GRADLE_HOME} ...

# INSTALL ANDROID
RUN mkdir -p ${ANDROID_HOME} ...

# INSTALL GLIBC
RUN curl -L ...

# CONFIGURATION
RUN echo y | android update sdk --no-ui -a --filter platform-tools,${ANDROID_API_LEVELS},build-tools-${ANDROID_BUILD_TOOLS_VERSION}

# Make license agreement
RUN mkdir $ANDROID_HOME/licenses ...


#FILES DELETION
RUN rm -rf /tmp/* /var/cache/apk/*

WORKDIR /usr/app
RUN npm install

COPY ./ /usr/app

我正在用 CMD 构建它:

docker build -t <image-name> .

我有这个 docker-compose.yml 文件:

version: '3.6'
services:
  app:
    container_name: karma5_ionic
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - '8100:8100'
      - '35729:35729'  
    command: ionic serve --external

我运行以下命令:

sudo docker-compose up -d

该应用程序在 localhost:8100 的浏览器中显示正常

问题:

当我进行更改时,没有热重载。

localhost:35729 可能暂时关闭,或者它可能已永久移动到新的网址。

或 localhost:35729 连接已重置

我能看到变化的唯一方法是,如果我

run docker-compose build 
docker-compose up -d again

标签: dockerubuntuionic-framework

解决方案


敬启者:

我只需要添加

volumes:
  - "./:/usr/app"  

整个 docker-compose.yml 文件:

version: '3.6'
services:
  app:
    container_name: karma5_ionic
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - "./:/usr/app"  
    ports:
      - '8100:8100'
      - '35729:35729'  
    command: ionic serve --external

推荐阅读