0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Multi-stage buildsでDockerfileをスッキリさせる

Posted at

Multi-stage buildsで、Dockerファイルがスッキリするらしい。

Multi-stage buildsとは

  • FROMイメージ間のファイルを参照できる。(COPY --from)
  • ASで中間イメージに名前を付けられる。

例えば、こんな感じです。

FROM ruby:alpine AS name
(省略)

FROM busybox
COPY --from=name <コピー元> <コピー先>

1つ目のFROMにAS nameで名前をつけることで、2つ目のFROMで--from=nameを使って参照できるようになる。

Multi-stage buildsの利用法

  1. Dockerfileを用意
  2. FROMを複数定義
  3. コピー元を定義

具体的には、●●=nameを定義し、別のビルドステージでCOPY --from=nameと指定することで直接参照が可能。

他には、FROM イメージ AS nameのように定義すると、ビルドステージに対してCOPY --from=nameが使えるようになる。

ビルドステージの指定もできる

さらに便利な活用法として、ビルドステージの指定も可能。

例えば、FROM イメージ AS builderという名前を付けていた場合は、以下のようなコマンドでビルドステージが指定できる。

 docker build --target builder -t イメージ .
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?