首页 > 解决方案 > Docker-compose 不会 snyc 或将更改应用到 docker 容器

问题描述

我的问题是为什么每次我对我的 leavelab 文件夹进行更改时,它都不会反映到我的容器中。我的容器有一个 nodemon,它可以跟踪我的更改。

这是我的 docker-compose.yml:

version: "2"
services:
  app-rsync:
    build: ./docker
    volumes:
      - ./docker/leavelab:/usr/src/app # will be mounted on /usr/src/app/leavelab

这是我的 Dockerfile:

FROM alpine:3.8
EXPOSE 3000
LABEL org.label-schema.schema-version="1.0"
LABEL org.label-schema.docker.cmd="docker run -d -p 3000:3000 --name alpine_leavelab"
RUN apk add --no-cache \
    git \
    make \
    nodejs npm \
    python \
    vim
RUN npm install -g nodemon
RUN adduser --system app --home /app
USER app
WORKDIR /app
RUN mkdir /app/leavelab
COPY ./leavelab /app/leavelab
WORKDIR /app/leavelab
RUN npm install
CMD npm start

标签: dockerdocker-composedockerfile

解决方案


我这样解释这个话题:docker-compose up不为指定的Dockerfile.

我对这个问题的回答:

docker-compose up仅在没有匹配图像时构建图像,例如在第一次docker-compose up调用时。您可以使用docker-compose up --build. 您也可以在调用docker-compose build之前先调用docker-compose up


推荐阅读