DockerHubのUbuntuのタグの違い
Ubuntu を使う場合、多くの人は最新の LTS(Long Term Support)である 14.04 を選択するはず。
でも DockerHub の Ubuntu 公式のリポジトリをみると 14.04 でもタグが複数あってどれを選ぶべきなのか迷うので、確認してみた。結論は「同じもの」だった。
14.04 のタグ一覧
ちなみに Ubuntu 14.04 LTS は 2014年4月17日リリースで、そのちょっとしたバージョンアップ版である 14.04.1 は 2014年7月25日にリリースされてる。
確認
ubuntu
これは ubuntu:latest へのリンクのようだ。
$ docker run ubuntu /bin/cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
ubuntu:14.04
古いままなのかと思ったら、ちゃんと "Ubuntu 14.04.1 LTS" になってる。
$ docker run ubuntu:14.04 /bin/cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
ubuntu:14.04.1
そのまま。
$ docker run ubuntu:14.04.1 /bin/cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
ubuntu:trusty
開発コードである trusty を指定してもいっしょ。
$ docker run ubuntu:trusty /bin/cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
ubuntu:latest
Ubuntu のリリース済の最新は 14.10(Utopic Unicorn)だけど、ubuntu:latest は LTS のみを指す模様。LTS は 2 年間隔でリリースされるため、16.04 がでたタイミングで変更されるはず。
$ docker run ubuntu:latest /bin/cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
ということで
ubuntu や ubuntu:latest だと 2 年後に挙動が変わるので、ubuntu:14.04 を使うのがいいと思う。trusty は開発コードだから聞きなれてない人も多そう。