【问题标题】:live reload on a Docker Angular project does not work?Docker Angular 项目上的实时重新加载不起作用?
【发布时间】:2021-05-20 11:12:24
【问题描述】:

文件结构:

/my-project
Dockerfile.ng
docker-compose.yml

docker-compose.yml

version: "3.9"

services:
  project:
    build:
      context: .
      dockerfile: Dockerfile.ng
    ports:
      - "4203:4200"
      - "49153:49153"
    volumes:
      - "/app/node_modules"
      - ".:/app"
      - ./my-project:/var/www/my-project

Dockerfile.ng

FROM node:12-alpine
WORKDIR /root/
COPY ./my-project /root/my-project
WORKDIR /root/my-project
RUN npm install
EXPOSE 4203 49153
CMD npm run start-hr

/my-project/package.json

...
    "start-hr": "ng serve --host 0.0.0.0 --poll 500"
...
docker-compose build  
docker-compose up -d

http://localhost:4203/
应用程序启动。
我修改了代码,实时重新加载不起作用。
windows 10 - 角度 11 - Docker 20

在本地,修改代码时,我去docker容器,文件没有被修改。
我认为COPY命令有问题,但我不知道如何解决。

【问题讨论】:

  • 你能在你的主机上npm run start-hr,完全忽略这个 Docker 设置吗?
  • 在本地,它可以工作。进入主机,端口已被使用

标签: angular docker livereload


【解决方案1】:

您能否尝试将您的 docker-compose 文件更改为以下内容:

version: "3.9"

services:
  project:
    build:
      context: .
      dockerfile: Dockerfile.ng
    ports:
      - "4203:4200"
      - "49153:49153"
    volumes:
      - ./my-project:/root/my-project

尝试更改您的 Dockerfile,如下所示:

FROM node:12-alpine
WORKDIR /root/my-project
COPY ./my-project /root/my-project
RUN npm install
EXPOSE 4203 49153
CMD npm run start-hr

【讨论】:

  • eranga,它不起作用。 -> 找不到页面
  • 我对你的 dockerfile 做了一点改动,你能试试吗?
  • 不行,还是不行:(.....本地,修改代码的时候,我去docker容器,文件没有被修改。我认为是COPY命令有问题但我不知道如何解决。
  • 但是应用程序将在具有早期更改的容器上运行,对吗?应用程序没有问题?
  • 应用程序启动一次。我在本地修改代码,应用程序没有更新。即使我按 F5。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-27
  • 2014-10-02
  • 1970-01-01
  • 2018-10-22
  • 2021-09-08
  • 2022-11-10
相关资源
最近更新 更多