コンテナレジストリ
Dockerコンテナイメージを保存・管理・配布するリポジトリサービス。Docker Hub・GitHub Container Registry・Amazon ECR・GCR・ACRなどがあり、CI/CDパイプラインの中核を担う。
コンテナレジストリとは?
コンテナレジストリは、Dockerコンテナイメージを保存・バージョン管理・配布するためのリポジトリサービスです。GitがソースコードをGitHubに保存するように、コンテナイメージはレジストリに保存します。
主なコンテナレジストリ
| サービス | 提供元 | 特徴 |
|---|---|---|
| Docker Hub | Docker | 最も有名・無料枠あり・Pull制限あり |
| GitHub Container Registry(GHCR) | GitHub | GitHubと統合・無料枠あり |
| Amazon ECR | AWS | AWSと完全統合・プライベートレジストリ |
| Google Container Registry(GCR) | GCP | GCPと統合 |
| Azure Container Registry(ACR) | Microsoft | Azureと統合 |
基本的な操作
# イメージをビルド
docker build -t my-app:v1.0 .
# タグを付けてレジストリにプッシュ(Docker Hub)
docker tag my-app:v1.0 username/my-app:v1.0
docker push username/my-app:v1.0
# レジストリからプル
docker pull username/my-app:v1.0
イメージのタグ管理
latest: 最新版(本番での使用は非推奨)- セマンティックバージョン:
v1.2.3(推奨) - Gitコミットハッシュ:
sha-abc1234(CI/CDでよく使われる)
セキュリティ機能
- イメージスキャン: プッシュ時にCVE脆弱性を自動検出(ECR・ACR等)
- アクセス制御: IAMやトークンによる認証・認可
- 署名: コンテナイメージの改ざん検知
まとめ
プライベートレジストリ(ECR・ACR等)はセキュリティと速度の面でパブリックレジストリより優れています。クラウドネイティブ開発では使用するクラウドと同じプロバイダーのレジストリを選ぶことで、認証や転送速度が最適化されます。
関連する用語 (DevOps)
全58件を見るBlue-Green Deployment
ゼロダウンタイムデプロイ戦略の一つ。本番環境(Blue)と新バージョン(Green)を並行して稼働させ、トラフィックを切り替えてデプロイする。問題発生時に即座に切り戻せる。
Lambda
AWSのサーバーレス関数実行サービス(Function as a Service)。コードをアップロードするだけで実行環境を自動管理し、実行時間のみの課金。イベントドリブンな処理やAPIバックエンドに多用される。
SRE
Site Reliability Engineering(サイト信頼性エンジニアリング)の略。Googleが提唱した、ソフトウェアエンジニアリングの手法を運用・インフラに適用するアプローチ。SLO・エラーバジェット・トイルの削減が核心概念。
APM
Application Performance Monitoring(アプリケーションパフォーマンス監視)の略。アプリの応答時間・エラー率・トランザクションを追跡し、パフォーマンスのボトルネックを特定する監視手法。DatadogやNew R
GitHub Actions
GitHubに組み込まれたCI/CDプラットフォーム。リポジトリへのプッシュやプルリクエストをトリガーに、ワークフロー(.yml)を自動実行できる。テスト・ビルド・デプロイを一元管理できる。
ArgoCD
Kubernetesのための宣言的GitOps継続デリバリーツール。Gitリポジトリ上のマニフェストと実際のK8sクラスタの状態を常に同期させる。変更を検知して自動でデプロイする。