В проекте, над которым я работал, есть несколько микросервисов, каждый из которых построен из собственного Dockerfile. Dockerfiles для четырех из них абсолютно идентичны:
#Dockerfile
FROM python:3.7
RUN pip install pip --upgrade
RUN pip install pipenv
COPY Pipfile.lock /code/Pipfile.lock
COPY Pipfile /code/Pipfile
WORKDIR /code
RUN pipenv install --system --deploy
Контейнеры создаются с помощью docker-compose.
Мне было предложено "сделать что-то" с этими идентичными Docker-файлами,однако я не уверен, есть ли в этом смысл.
С одной стороны, это, очевидно, повторяющийся код, и я полагаю, что я мог бы просто использовать одну копию файла Dockerfile для всех четырех служб (например, встроенныхэти четыре контейнера в соответствии с одним и тем же рецептом), но с другой - я полагаю, что если в будущем понадобится что-то изменить в одном из изображений, всю настройку придется снова изменить.
Я не нашел подобных случаев, описанных в интернете. Есть ли "хорошая практика" в такой ситуации? Каковы будут преимущества (есть ли?) Использования одного Dockerfile?