DockerがDocker HubにLanguage Stackのための新しい公式リポジトリを追加した。これにはC/C++やJava、Python、Rubyが含まれている。
もともと6月のDockerConにおいて、公式リポジトリとして主要なOSと人気のあるサービス、特にCentOS、Ubuntu、Fedoraイメージが発表されていた。このたびユーザからのフィードバックと要求の高まりから、Dockerは各種Language Stackのための公式リポジトリを追加した。
- C/C++とGNU Compiler Collection (GCC) versions 4.6, 4.7, 4.8 および 4.9
- Clojure、Leiningen 2.4.3 および 2.5.0とともに
- Go言語 (golang) versions 1.2 および 1.3
- Hy言語 (hylang) version 0.10
- Java JDK versions 6, 7, および 8
- NodeJS 0.8, 0.10 および 0.11
- Perl 5.18 および 5.20
- PHP 5.3, 5.4, 5.5 および 5.6
- Python 2.7.8, 3.3.5 および 3.4.1
- Ruby on Rails 4.1
- Ruby 1.9.3, 2.0.0 および 2.1.3
適切なバージョンを選択しやすいよう、各リポジトリには複数のタグとエイリアスが含まれている。たとえば、Javaリポジトリには、Java 6 java:6b32、7 java:7u65、8 java:8u40のイメージが含まれており、java:7u60といったパッチバージョンやjava:6, java:7 and java:8というエイリアスも含まれている。開発にこれらエイリアスを使うのは便利だが、別のマシンでの実行時に意図せぬアップデートを引き起こすおそれがあることに注意しよう。latestタグを使ったときと同様、Dockerはその時点で利用可能な最新イメージをプルしようとするためだ。たとえば、Java 7の次のパッチバージョン用のDockerイメージが新しく公開されると、docker pull java:7は以前とは別のイメージをプルすることになる。
イメージの多くは、Jessie、WheezyまたはSidのDebianベースイメージから、もしくは、RubyGemsやPyPIモジュールといったものによって必要とされる多数の開発用ヘッダパッケージを含んだbuildpack-depsイメージから派生している。DockerfileのソースはGitHubのdocker-libraryプロジェクトにある。
アプリケーションのデプロイを簡単にするため、ONBUILDディレクティブを含んでいるイメージもある。たとえば、ruby:2.1.3-onbuildを拡張すると、他にディレクティブを加える必要なしに、ビルドディレクトリにあるGemfileとGemfile.lockファイルを使って、bundlerで必要なgemをすべて最終的なイメージsystem Rubyにインストールする。
また、Dockerはだれでも自分のプロジェクトの公式リポジトリを公開してメンテナンスできるよう門戸を開き、いくつかの入門ガイドとDockerfileベストプラクティスを公開した。Docker Hubへのリポジトリ追加リクエストはpartners@docker.comに送ることができる。