Dockerに関するキャッシュたち
SRANK

はじめにDockerを用いた開発では、適切にキャッシュを用いることで高速にビルド・開発できます。そのための知見は様々な記事で共有されており、ありがたい限りです。しかし、「Dockerのキャッシュ」と言っても開発時とCI・CDでは行うことが違います。この記事ではDockerを用いた開発における、各段階のキャッシュ機能を確認したいと思います。主に「Dockerのキャッシュ」というと以下の4つに分類できると思いますので、それぞれについて解説していきます。Dockerのレイヤーキャッシュを活かすa. COPY・ADDの順番b. dockerignoreの設定c. マルチステージビルドbuildkitによるキャッシュa. --mount=type=cacheCI・CDにおいてのキャッシュa. 前回のビルドキャッシュを持ち越して使うリモートキャッシュa. 開発者が初めてビルドする場合もキャッシュを使うまた、説明のために用いるGoプロジェクトのリポジトリはこちらです。このリポジトリには今回説明するキャッシュが実装済みですので、よければ参考にしてください。 ベース今回は以下のDockerfileを用いて作成できるイメージを改善していきます。FROM golang:1.17.6 ENV CGO_ENABLED=0 WORKDIR /workdir COPY . . RUN go buil…

zenn.dev
Related Topics: Docker Containers
1 comments