我刚刚从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数据库。
2条答案
按热度按时间qco9c6ql1#
从这篇媒体文章中我了解到:https://olshansky.medium.com/hot-reloading-with-local-docker-development-1ec5dbaa4a65
设置卷时,应编写卷,以便将容器中的文件直接Map到项目目录中的文件(将容器外文件Map到容器内文件)。
因此,对于您的情况,您只需要更改第一个卷,以适应本地文件,即:
sycxhyv72#
传递
--poll 2000
和--disable-host-check
对我很有效。这个Angular Docker Hot-Reload Template也有效。