热钉仓与Docker组合

lnlaulya  于 2023-01-12  发布在  Docker
关注(0)|答案(2)|浏览(92)

我刚刚从Project Clarity中播种了一个Angular 应用程序,当我在Docker容器中运行它时,我正试图让热重新加载工作。
如果我进入正在运行的container并编辑一个文件,重载工作正常,但我希望能够编辑container外的文件,并在container中更新它们。我认为如果我设置了音量,这将工作,但它似乎没有工作。
我的文档...

FROM node:latest

RUN mkdir -p /usr/src/client
WORKDIR /usr/src/client

COPY package.json /usr/src/client
RUN npm install
COPY . /usr/src/client
EXPOSE 4200
CMD ["npm", "start"]

还有我的docker-compose.yml文件。

version: '2' 

services:
  client:
    build: clarity-seed
    ports:
      - "4200:4200"
    volumes:
      - ./clarity-seed:/usr/src/client
      - /usr/src/client/node_modules

我使用docker-compose是因为我最终会设置一个express服务器和一个mongo数据库。

qco9c6ql

qco9c6ql1#

从这篇媒体文章中我了解到:https://olshansky.medium.com/hot-reloading-with-local-docker-development-1ec5dbaa4a65
设置卷时,应编写卷,以便将容器中的文件直接Map到项目目录中的文件(将容器外文件Map到容器内文件)。
因此,对于您的情况,您只需要更改第一个卷,以适应本地文件,即:

build: clarity-seed

ports:

  - "4200:4200"

volumes:

  - ./:/usr/src/client

  - /usr/src/client/node_modules
sycxhyv7

sycxhyv72#

传递--poll 2000--disable-host-check对我很有效。这个Angular Docker Hot-Reload Template也有效。

相关问题