GKE(Google Kubernetes Engine)デプロイメントのサービスでDockerイメージレジストリとしてGCR(Google Container Registry)を使用しています。私の侵入テストチームは、GCRからのDockerイメージをテストに利用できるようにすることを要求しました。
Dockerイメージをローカルで作成することはできますが、それは彼らが求めているものではありません。
DockerイメージをGCRからPCにダウンロードするにはどうすればよいですか?
その後、Dockerイメージをコピーして、侵入テストチームに渡すにはどうすればよいですか。
ドキュメントからの引用:
安全なHTTPSエンドポイントを介してContainerRegistryにアクセスできます。これにより、任意のシステム、VMインスタンス、または独自のハードウェアからイメージをプッシュ、プル、および管理できます。さらに、Docker credential helperコマンドラインツールを使用して、ContainerRegistryで直接認証するようにDockerを構成できます。
ここで確認できるように、プロジェクト内でコンテナレジスタにアクセスする権限を1人以上のユーザーに付与する方法を確認してください。
Pull (Read Only)
roles/storage.objectViewer Storage Object Viewer :
- storage.objects.get
- storage.objects.list
これを実行すると、従来のgoogle Cloud SDKをインストールしてログインすると、Dockerを認証し、実行中のイメージをプルできるようになります。
$ gcloud auth configure-docker
$ docker pull [HOSTNAME]/[PROJECT-ID]/[IMAGE][:TAG]
イメージをパブリックに作成し、クラシックのみを実行してプルすることもできることに注意してください。
$ docker pull [HOSTNAME]/[PROJECT-ID]/[IMAGE][:TAG]
ローカルディスクに適切な形式で保存して他のチームに引き渡すことに関心があるようです。そのための可能な手順は次のとおりです。
$ gcloud auth configure-docker
$ docker pull [HOSTNAME]/[PROJECT-ID]/[IMAGE][:TAG]
$ docker save IMAGENAME:TAG -o FILENAME.tar
私の限りでは、実行中の画像がある場合にのみ画像を保存できることに注意してください docker images
その他のドキュメント:Dockerでの保存とエクスポートの違い
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加