Сергей Перминов
Tinkoff.ru
RUN apk install ...
RUN poetry install
COPY ./code /code
FROM alpine
awesome:2019-09-25-b7ed60f
TeamCity Server
build agent
<...>
awesome-base:v1
FROM awesome-base:v1
Как понять, какой базовый образ нам нужен?
dockerfile
poetry.lock
md5sum awesome-base.dockerfile
grep 'content-hash' poetry.lock
... content-hash = "de0b7dd2286198c11fce59..." ...
DOCKERFILE_HASH=$(md5sum awesome-base.dockerfile)
POETRY_HASH=$(grep 'content-hash' poetry.lock)
TAG="$POETRY_HASH-$DOCKERFILE_HASH"
Вычисляем тэг базового образа:
Пулим базовый образ:
docker pull awesome-base:de0b7dd2
Получилось?
Собираем и пушим базовый образ:
docker build ...
docker push awesome-base:de0b7dd2
Собираем образ с сервисом
awesome:<date>-<commit-hash>
на основе базового
By persi