Build docker image with volume mount

dockerbuildcache

Docker Build시에 volume mount가 당연히 가능할 줄 알고 inference model이나 pip cache 등을 volume 으로 넣어주려고 했으나…

impossible

그러던 차에 StackOverFlow의 글을 발견했다.

BuildKit을 사용하면 가능하다고.

docker pull docker/dockerfile:experimental
# syntax = docker/dockerfile:experimental
FROM some/docker:image
# Cache pip packages
RUN --mount=type=cache,target=/root/.cache/pip pip install some-package
# Cache apt packages
RUN --mount=type=cache,target=/var/cache/apt --mount=type=cache,target=/var/lib/apt \
  apt update && apt-get --no-install-recommends install -y gcc
# set env variable $DOCKER_BUILDKIT to 1
DOCKER_BUILDKIT=1 docker build -t my-image .

Back to blog