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

그러던 차에 StackOverFlow의 글을 발견했다.
BuildKit을 사용하면 가능하다고.
- dockerfile:experimental을 Pull 하고
docker pull docker/dockerfile:experimental- Dockerfile 상단에 다음과 같은 주석을 추가해 주고
# syntax = docker/dockerfile:experimental
FROM some/docker:image- 필요한 곳에
RUN대신RUN --mount=........를 사용한다. - 안타깝게도 bind는 read만 가능한듯?
type=cache가 유용해 보임- 더 자세한 옵션은 이 곳 참조
# 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- 실행시 DOCKER_BUILDKIT을 1로 주면 된다. (docker-compose build도 동일하게 가능)
# set env variable $DOCKER_BUILDKIT to 1
DOCKER_BUILDKIT=1 docker build -t my-image .