Как редактировать изображение Docker? - PullRequest
0 голосов
/ 11 июня 2019

Я провел основной поиск в сообществе и не смог найти подходящий ответ, поэтому я спрашиваю здесь. Извините, если спросили раньше.

По сути, я работаю над определенным проектом, и мы постоянно меняем код. Итак, нам нужно каждый раз создавать образ докера, так как нам нужно с нуля устанавливать зависимости из require.txt, что каждый раз занимало около 10 минут.

Как выполнить прямое изменение образа докера, а также как настроить точку входа (в файле Docker), которая отражает изменения в образе док-станции Pre-Build

1 Ответ

0 голосов
/ 11 июня 2019

Вы не редактируете изображение после его создания.Вы всегда запускаете docker build с самого начала;он всегда работает в чистой среде.

Обратная сторона этого заключается в том, что Docker кэширует созданные изображения.Если у вас было изображение 01234567, вы запустили RUN pip install -r requirements.txt и получили изображение 2468ace0, то при следующем запуске docker build он увидит тот же исходный образ и ту же команду, пропустит выполнение работы и прыгнет напрямуюна выходные изображения.COPY или ADD изменяемые файлы делают кэш недействительным для будущих шагов.

Таким образом, стандартным шаблоном является

FROM node:10 # arbitrary choice of language

WORKDIR /app

# Copy in _only_ the requirements and package lock files
COPY package.json yarn.lock ./
# Install dependencies (once)
RUN yarn install

# Copy in the rest of the application and build it
COPY src/ src/
RUN yarn build

# Standard application metadata
EXPOSE 3000
CMD ["yarn", "start"]

Если вы только что-то измените в своем дереве src, docker build перейдет к шагу COPY, поскольку файлы package.json и yarn.lock не изменились.

...