
Dockerでヒアドキュメントが使えるようになるみたいです。
DockerfileでのRUNコマンドの記述が楽になりそうです。
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y ...
参考サイト www.docker.com
ヒアドキュメントの機能を利用するには、環境変数 DOCKER_BUILDKIT=1にする必要があります。
buildコマンドで利用するイメージを変更するために、Dockerfileの冒頭に# syntax=docker/dockerfile:1.3-labsを追加します。
ヒアドキュメントが使用できるコマンドはRUNとCOPYになります。
RUNコマンドでヒアドキュメントを使う
上のRUNコマンドをヒアドキュメント化するには以下のように記述します。
# syntax=docker/dockerfile:1.3-labs FROM ubuntu:20.04 RUN <<EOF apt-get update apt-get upgrade -y apt-get install -y ... EOF
ヒアドキュメントを使うことで、RUNコマンドでの&& \の数珠つなぎから開放されDockerfileの可読性が上がりそうですね。
COPYコマンドでヒアドキュメントを使う
# syntax = docker/dockerfile:1.3-labs
FROM alpine
COPY <<-"EOF" /app/script.sh
echo hello ${FOO}
EOF
RUN FOO=abc ash /app/script.sh >> /hello
ヒアドキュメントの内容で
/app/script.shを作成します。(EOFをダブルクオート囲っているので環境変数は展開されない)次の
RUNコマンドで/app/script.shを実行します。(/helloにhello abcが記述される)
私には利用用途があまり思い浮かびませんが、マルチステージビルドで複雑なbuildをするときに使うときが来るかもしれません。
短いですが以上です。
インゲージではエンジニアを募集しいています。 ご応募お待ちしてます。
↓↓↓↓↓↓↓↓↓↓↓↓↓