Dockerfile
に以下のように記述するとaptパッケージをキャッシュできます。
# syntax=docker/dockerfile:1
# ...
# apt-get install実行後に/var/cache/apt内のdebファイルが削除されないようにする
RUN rm -f /etc/apt/apt.conf.d/docker-clean
# aptパッケージをキャッシュする
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
apt-get update && apt-get --no-install-recommends install -y gcc
apt-get
を使用する場合にはecho 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
は不要です。
参考
-
rm -f /etc/apt/apt.conf.d/docker-clean; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
について
-
--mount=type=cache
について