繁体   English   中英

用 docker 组合热重装

[英]Hot Reload with docker compose

我刚刚从Project Clarity播种了一个 angular 应用程序,当我在 docker 容器中运行它时,我试图让热重载工作。

如果我将 go 放入正在运行的容器中并编辑文件,则重新加载工作正常,但我希望能够从容器中编辑文件并在容器中更新它们。 如果我设置音量,我虽然会工作,但它似乎没有工作。

我的 Dockerfile....

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 因为我最终会设置一个快速服务器和一个 mongo 数据库。

根据我从这篇中等文章中的理解: https ://olshansky.medium.com/hot-reloading-with-local-docker-development-1ec5dbaa4a65

设置卷时,您应该编写它,使容器中的文件直接映射到项目目录中的文件(将容器外文件映射到容器内文件)。

因此,对于您的情况,您只需更改第一卷以适应本地文件,即:

build: clarity-seed

ports:

  - "4200:4200"

volumes:

  - ./:/usr/src/client

  - /usr/src/client/node_modules

通过--poll 2000--disable-host-check对我有用。 Angular Docker 热重载模板有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM