Команда сборки Docker Compose, использующая Cache и не собирающая измененные файлы при копировании в Docker - PullRequest
1 голос
/ 19 марта 2019

У меня есть файл docker-compose.yml, состоящий из двух служб (оба основаны на DockerFile). Я собрал образы один раз (используя команду: docker-compose build), и они были запущены, как только я выполнил эту команду (docker-compose up).
Мне пришлось изменить исходный код, используемый для одной из служб, однако, когда я перестроил изображения (docker-compose build), изменения кода не были отражены после того, как я запустил службы (docker-compose up).

docker-compose.yml

version: '2'

services:
  serviceOne:
    build:
      context: ./ServerOne
      args:
          PORT: 4000
    ports:
      - "4000:4000"
    env_file:
      - ./ServerOne/.env
    environment:
      - PORT=4000
  serviceTwo:
    build:
      context: ./serviceTwo
      args:
          PORT: 3000
    ports:
      - "3000:3000"
    env_file:
      - ./serviceTwo/.env
    environment:
      - PORT=3000
      - serviceOne_URL=http://serviceOne:4000/
    depends_on:
      - serviceOne  

serviceOne / DockerFile

FROM node:8.10.0

RUN mkdir -p /app
WORKDIR /app
ADD package.json package-lock.json /app/
RUN npm install
COPY . /app/
RUN npm build
EXPOSE ${ACC_PORT}
CMD [ "npm", "start" ]

serviceTwo / DockerFile

FROM node:8.10.0

RUN mkdir -p /app
WORKDIR /app
ADD package.json package-lock.json /app/
RUN npm install
COPY . /app/
RUN npm build
EXPOSE ${ACC_PORT}
CMD [ "npm", "start" ]

Ниже приводится вывод docker-compose, когда он запускается во второй раз.
Это как снова использовать кэшированные изображения, когда запускаются команды COPY и npm build .

Как можно изменить файл DockerFile или docker-compose , чтобы развернуть новый исходный код?

enter image description here

1 Ответ

0 голосов
/ 19 марта 2019

Вы можете заставить сборку игнорировать кеш, добавив параметр - no-cache в сборку docker-compose

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...