コンテナレジストリ
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件を見るIstio
Kubernetesで動作するオープンソースのサービスメッシュ実装。Envoyプロキシをサイドカーとして各Podに注入し、トラフィック管理・セキュリティ・可観測性を提供する。
GitOps
Gitをシステムの信頼できる唯一の情報源(Single Source of Truth)として扱う運用手法。インフラやアプリの設定変更をGitのPull Requestで管理し、自動デプロイを行う。ArgoCD・Fluxが普及。
IT用語: カナリアリリースとは|一部ユーザーへ先行公開する安全なデプロイ手法
新バージョンを全ユーザーの5〜10%に先行公開し問題がなければ徐々に拡大するカナリアリリースの仕組みを解説。
Blue-Green Deployment
ゼロダウンタイムデプロイ戦略の一つ。本番環境(Blue)と新バージョン(Green)を並行して稼働させ、トラフィックを切り替えてデプロイする。問題発生時に即座に切り戻せる。
IT用語: Ansibleとは|サーバー設定を自動化するIaCツール
エージェント不要でSSHを通じてサーバー設定を自動化するAnsibleのPlaybook構文と活用場面を解説。
Namespace
Kubernetesクラスタ内のリソースを論理的に分離する仕組み。開発・ステージング・本番環境の分離や、チーム間のリソース分割に使用する。デフォルトでdefault・kube-system等が存在する。