地味に待ち遠しいDockerの新機能

DockerfileのENV コマンドで、複数環境変数を一度に指定できるようになるらしい。 Allow ENV to set multiple variables in one layer · Issue #2333 · docker/docker · GitHub

従来は複数環境変数を設定するには、ENVを繰り返さなければなりませんでした。

ENV GOPATH /root/go
ENV CGO_CFLAGS-I/opt/fzero/include
ENV CGO_LDFLAGS -L/opt/fzero/lib64 -Wl,-rpath=/opt/fzero/lib64

この場合、各ENVごとにレイヤーが生成されてしまい、docker pushの際に通信回数が増えるなど無駄でした。

それが1行で書ける=1レイヤーで済むようになるらしいです。 イメージ:

ENV GOPATH=/root/go CGO_CFLAGS=-I/opt/fzero/include CGO_LDFLAGS="-L/opt/fzero/lib64 -Wl,-rpath=/opt/fzero/lib64"