コンテナレジストリ
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件を見るSecret
Kubernetesでパスワード・APIキー・TLS証明書などの機密情報を管理するリソース。Base64エンコードで保存され、Podへのマウントや環境変数での参照が可能。本番ではVault等の外部シークレット管理との連携が推奨される。
Grafana
オープンソースのデータ可視化・ダッシュボードツール。PrometheusやInfluxDB等のデータソースと接続し、美しいグラフダッシュボードを構築できる。インフラ監視からビジネス指標まで幅広く活用される。
SAST
Static Application Security Testing(静的アプリケーションセキュリティテスト)の略。ソースコードを実行せずに静的解析して脆弱性を検出する手法。SonarQube・Checkmarx等が代表的ツール。
Ansible
構成管理・プロビジョニング自動化ツール。YAMLで記述したPlaybookをエージェントレスで実行し、サーバーの設定を一元管理できる。インフラの自動化とべき等性の確保が特徴。
Pod
Kubernetesの最小デプロイ単位。1つ以上のコンテナとストレージ・ネットワーク設定をまとめたもの。通常はDeploymentやStatefulSetを通じて管理され、スケーリング・再起動の単位となる。
GitOps
Gitをシステムの信頼できる唯一の情報源(Single Source of Truth)として扱う運用手法。インフラやアプリの設定変更をGitのPull Requestで管理し、自動デプロイを行う。ArgoCD・Fluxが普及。