Docker Hub
Docker Hubとは?

Dockerとは、ソフトウェアを「コンテナ」と呼ばれる独立した実行環境にまとめて動かすことができるようにする仮想化ソフトウェアの一種である。コンテナにはアプリケーション本体だけでなく、動作に必要なライブラリや設定ファイルも含まれるため、どの環境でも同じように動かせる。
あるソフトウェアが動作するように設定したコンテナはそのままファイルとして保存することができ、他のコンピュータに展開することができる。これを「コンテナイメージ」という。Docker HubはDocker形式のイメージをインターネット上で管理・共有するための場所である。
利用者はアカウントを作成し、自分が作成したイメージをアップロード(プッシュ)したり、他者が公開しているイメージをダウンロード(プル)したりできる。「Ubuntu」「nginx」「MySQL」といった著名なオープンソースソフトウェアの公式イメージが揃っており、コマンド一つで取り込める。公式イメージは同社や各ソフトウェアの提供元が内容を検証したものであるため信頼性が高く、開発者はゼロから環境を構築する手間を省ける。一般ユーザーが公開する「コミュニティイメージ」も多数存在し、多様な用途に対応している。
自分がアップロードしたイメージの公開範囲は目的に応じて選択できる。誰でも取得できる一般公開のほか、特定の組織内だけで共有する非公開リポジトリも設定可能である。イメージには「タグ」と呼ばれる識別子でバージョンが管理されており、特定の状態のイメージを指定して取得できる。無料プランでも基本的な機能を利用できるが、プライベートリポジトリ数やイメージの転送量に制限があり、商用・大規模運用では有料プランへの移行が必要になる場合もある。
開発の現場では、ソースコードの更新を契機に新しいイメージを自動生成してDocker Hubへ登録する仕組みが広く取り入れられており、開発したソフトウェアを実行環境に自動展開するCI/CDパイプラインとの連携も一般的である。「Amazon ECR」や「GitHub Container Registry」など類似サービスも存在するが、Docker Hubは最も歴史が長く公開イメージ数も豊富で、コンテナを用いた開発・配布の共通基盤として定着している。