職場でとあるソースコードを引き継いだのですが、その中に .dockerignore
というファイルがありました。
今まで使ったことがなかったため、調べた内容をメモで残します。
.dockerignoreとは
リファレンスには、次のように記載されています。 ざっくり言ってしまえば、イメージに含めたくないファイルやディレクトリを指定します。
Docker CLI が コンテクスト ( Dockerfile や Docker イメージの中に送りたいファイルなど、Docker イメージ構築時に必要な素材・内容物のこと)を docker デーモンに送信する前に、コンテクストのルート・ディレクトリで .dockerignore という名前のファイルを探します。
このファイルが存在する場合、CLI はファイル内で書かれたパターンに一致するファイルやディレクトリを、コンテクストから除外します。
これにより、容量が大きいか機微情報を含むファイルやディレクトリを、不用意にデーモンに送信するのを回避したり、 ADD や COPY を使ってイメージに加えてしまうのも回避したりするのに役立ちます。 https://docs.docker.jp/engine/reference/builder.html?highlight=dockerignore#dockerignore
あとがき
ちなみに引き継いだソースコードでは、 .git
が除外対象になってました。
その他にも、イメージに含める必要のない容量が大きいファイルを指定して、イメージサイズを節約するといった使い方もできそうです。