
【Docker基礎】Docker HubとDockerレジストリ
Dockerを効果的に活用するためには、コンテナイメージの保存と配布が欠かせません。このセクションでは、Docker HubとDockerレジストリについて詳しく解説します。これらの概念を理解することで、イメージの管理や共有がスムーズになり、チーム全体の開発効率を向上させることができます。

1.Dockerレジストリとは
Dockerレジストリは、Dockerイメージの配布場所を指します。公式に提供されるものから、個人や企業が運営するプライベートなものまで、さまざまなレジストリが存在します。レジストリを利用することで、イメージの保存、共有、管理が容易になります。
主なDockerレジストリの種類
レジストリ名 | 説明 |
---|---|
Docker Hub | Docker社が公式に運営するレジストリ。多数の公式イメージが公開されています。 |
yamadaのレジストリ | 個人や企業が運営するプライベートレジストリの一例。 |
ABC社のレジストリ | 特定の企業が内部で利用するカスタムレジストリ。 |
図:Dockerレジストリの構造
Dockerレジストリ
├── Docker Hub
├── yamadaのレジストリ
└── ABC社のレジストリ
2.Docker Hubとは
Docker Hubは、Docker社が公式に運営するレジストリの一つであり、最も広く利用されています。多くの公式イメージ(例:Apache、MySQL、Ubuntuなど)がDocker Hubに登録されており、ユーザーはこれらのイメージを簡単に取得・利用することができます。docker run
コマンドでアクセスしていたイメージの多くは、このDocker Hubから取得されています。
Docker Hubの特徴
- 公式イメージの豊富さ: 信頼性の高い公式イメージが多数公開されています。
- ユーザーと組織のアカウント管理: 個人やチーム単位でイメージを管理・共有できます。
- プライベートリポジトリ: 無料プランでも1つのプライベートリポジトリを作成可能です。
- セキュリティスキャン: イメージの脆弱性を自動でスキャンし、レポートを提供します。
3.レジストリとリポジトリの違い
レジストリとリポジトリは、よく似た用語ですが、異なる概念です。以下の表でその違いを整理します。
項目 | 説明 |
---|---|
レジストリ | Dockerイメージの配布場所全体。複数のリポジトリを含む。 |
リポジトリ | レジストリ内のイメージのグループ。特定のアプリケーションごと。 |
レジストリとリポジトリの関係
Docker Hubアカウント | リポジトリ名 | イメージタグ |
---|---|---|
ABC社アカウント | パッケージAパッチ | ver11, ver12, ver13 |
MySQL | ver5.5, ver5.7, ver5.8, ver8 | |
yamadaアカウント | アプリケーションX | latest, v1.0, v2.0 |
suzukiアカウント | サービスY | release, beta, dev |
図:Docker Hub内のレジストリとリポジトリの構造
Docker Hub
├── ABC社アカウント
│ ├── パッケージAパッチ
│ │ ├── ver11
│ │ ├── ver12
│ │ └── ver13
│ └── MySQL
│ ├── ver5.5
│ ├── ver5.7
│ ├── ver5.8
│ └── ver8
├── yamadaアカウント
│ └── アプリケーションX
│ ├── latest
│ ├── v1.0
│ └── v2.0
└── suzukiアカウント
└── サービスY
├── release
├── beta
└── dev
このように、Docker Hubの中には各社や個人のアカウントが存在し、そのアカウントごとに複数のリポジトリが管理されています。それぞれのリポジトリには、異なるバージョンやタグが付けられたイメージが格納されています。
4.Dockerレジストリの利用メリット
Dockerレジストリを利用することで、以下のようなメリットがあります。
4.1 イメージの集中管理
複数のプロジェクトやチームで使用するDockerイメージを一元管理できます。これにより、イメージのバージョン管理や共有が容易になります。
4.2 簡単なイメージの共有
作成したイメージをDocker Hubにプッシュすることで、チームメンバーや他の開発者と簡単に共有できます。また、プライベートリポジトリを利用すれば、限られたユーザーのみがアクセスできるイメージの管理も可能です。
4.3 継続的インテグレーションとデプロイメントのサポート
Docker Hubは、CI/CDパイプラインと連携することで、自動的にイメージをビルド・テスト・デプロイすることができます。これにより、開発から本番環境へのデプロイまでのプロセスがスムーズになります。
4.4 セキュリティ機能の提供
Docker Hubは、イメージのセキュリティスキャン機能を提供しており、脆弱性の検出と対策を支援します。これにより、安全なコンテナ環境の構築が容易になります。
5.Docker Hubへの登録手順の概要
Docker Hubへの登録は簡単で、以下のステップに従うことでアカウントを作成し、イメージの管理を開始することができます。
5.1 Docker Hubのウェブサイトにアクセス
- ブラウザを開き、Docker Hubにアクセスします。
5.2 アカウントの作成

- トップページの「Sign Up」ボタンをクリックします。
- 必要な情報(ユーザー名、メールアドレス、パスワード)を入力し、「Sign Up」をクリックします。
5.3 メール認証
- 登録したメールアドレスに確認メールが届きます。
- メール内のリンクをクリックしてアカウントを有効化します。
5.4 ログイン
- 有効化が完了したら、Docker Hubにログインします。
- ダッシュボードにアクセスし、アカウントの設定やリポジトリの管理を行います。
5.5 リポジトリの作成
- ダッシュボードの「Create Repository」ボタンをクリックします。
- リポジトリ名を入力し、公開(Public)または非公開(Private)を選択します。
- 必要に応じて説明を追加し、「Create」ボタンをクリックします。
5.6 イメージのプッシュ
➊ローカルで作成したDockerイメージにタグを付けます。
docker tag ローカルイメージ名 DockerHubユーザー名/リポジトリ名:タグ
例:
docker tag my-app:latest johndoe/my-app:v1.0
❷Docker Hubにログインします。
docker login
❸イメージをDocker Hubにプッシュします。
docker push johndoe/my-app:v1.0
これで、作成したイメージがDocker Hubにアップロードされ、他の環境やチームメンバーと共有できるようになります。
次のコンテンツでは、タグとイメージのアップロードについて詳しく解説します。
まとめ
ここでは、Docker HubとDockerレジストリについて基礎的な知識を解説しました。以下のポイントを押さえておきましょう。
- Dockerレジストリの理解: DockerレジストリはDockerイメージの配布場所であり、Docker Hubはその中でも公式に運営される主要なレジストリです。
- レジストリとリポジトリの違い: レジストリはイメージの配布全体を指し、リポジトリはその中の特定のイメージ群を指します。
- Docker Hubの利用メリット: 公式イメージの豊富さ、簡単なイメージ共有、CI/CDとの連携、セキュリティ機能など。
- 登録手順の概要: Docker Hubへのアカウント作成からリポジトリの作成、イメージのプッシュまでの基本的な流れを理解する。
これらの知識を基に、次のコンテンツではタグとイメージのアップロードについて詳しく学び、Docker Hubを活用した効率的なコンテナ管理を実現しましょう。