このすみろぐ

とあるWebエンジニアが、技術や趣味について書くブログです。

.dockerignoreについて

職場でとあるソースコードを引き継いだのですが、その中に .dockerignore というファイルがありました。

今まで使ったことがなかったため、調べた内容をメモで残します。

.dockerignoreとは

リファレンスには、次のように記載されています。 ざっくり言ってしまえば、イメージに含めたくないファイルやディレクトリを指定します。

Docker CLI が コンテクスト ( Dockerfile や Docker イメージの中に送りたいファイルなど、Docker イメージ構築時に必要な素材・内容物のこと)を docker デーモンに送信する前に、コンテクストのルート・ディレクトリで .dockerignore という名前のファイルを探します。
このファイルが存在する場合、CLI はファイル内で書かれたパターンに一致するファイルやディレクトリを、コンテクストから除外します。
これにより、容量が大きいか機微情報を含むファイルやディレクトリを、不用意にデーモンに送信するのを回避したり、 ADD や COPY を使ってイメージに加えてしまうのも回避したりするのに役立ちます。 https://docs.docker.jp/engine/reference/builder.html?highlight=dockerignore#dockerignore

あとがき

ちなみに引き継いだソースコードでは、 .git が除外対象になってました。

その他にも、イメージに含める必要のない容量が大きいファイルを指定して、イメージサイズを節約するといった使い方もできそうです。