UbuntuのOfficial Docker image内でlsb_release -cs相当のことを実現する


Ubuntuのdocker iamgeにはlsb_releaseが入っていないため、Dockerfile中にlsb_release相当のことをするにはちょっと工夫が必要になります。lsb_coreをインストールすれば使えるようにはなりますが、わざわざインストールするのもためらうときに使えるtipsです。

例えば、lsb_release -csはOSのコードネームを取得するコマンドですが、これと同様のことをしたければ、下記の様に書くことができます。。要はlsb_releaseが参照している情報は/etc/lsb-releaseに格納されているので、そこから必要な文字列を取り出せばいいわけです。

RUN export ubuntu_codename=$(cat /etc/lsb-release | grep DISTRIB_CODENAME | cut -d = -f 2)