プロジェクトに取り組んだチームは、Docker イメージをクラウド実行サービスにデプロイしました。 Docker イメージはありませんが、Cloud Run サービスにはアクセスできます。ログと詳細が表示されます。その Docker イメージに含まれていたファイルを見つけたいと考えています。どうすればこれにアクセスできますか?たとえば、画像には main.py ファイルが含まれていたため、これにアクセスしたいとします。
ありがとう
------------------------
Cloud Run は Docker イメージを使用するため、GCP Cloud Shell を使用できます (Cloud Shell にはすでに Docker がインストールされています)。
また、クラウド実行サービスに使用されるコンテナー レジストリ イメージを取得する必要があります。取得するには、これに従ってください。手順:
1.- クラウド実行サービスのリストからサービスを選択します
2.- サービス ページで、[リビジョン] タブに移動します。
3.- 画像の URL をクリックします。
4.- イメージの詳細ページで、[プル コマンドを表示] をクリックすると、使用されるイメージは次の形式になります。
gcr.io/[イメージ名] 例: gcr.io/cloudrun/hello:latest
Cloud Shell で次のコマンドを実行します
docker run -it --entrypoint sh {image-name}
例:
docker run -it --entrypoint sh gcr.io/cloudrun/hello
このコマンドは、Docker コンテナ内で新しいシェルを開きます (終了するには、ctrl+d)。コマンド ls -lah を実行して、Docker イメージ内のファイルを確認します。ファイルの内容を確認するには、cat コマンドを使用します。 .
*Google Cloud Console で使用される Google アカウントにはコンテナ レジストリ イメージへのアクセス権が必要です
7
これは本当に完璧です。どうもありがとう。 Cloud Shell からファイルをダウンロードする方法をご存知ですか?コマンドcloudshell downloadを試しましたが、cloudshellが認識されません
– user147529
2020 年 9 月 7 日 10:01
これは良い質問です。まず、ファイルを Docker コンテナから Cloud Shell VM に移動する必要があります。これを確認してください。私たち
– ヤン・ヘルナンデス
2020 年 9 月 7 日 14:22
本当にありがとう、とても親切です。スタック オーバーフローの誰かが私に良い質問があると言うのは珍しいことです (笑)
– user147529
2020 年 9 月 7 日 21:42
こんにちは。助けが必要です。 sudo docker gcr.io を実行しようとしています/cloudrun/hello/main.py 。しかし、そのようなコンテナパスは存在しないと言われています。何か案が?ありがとう
– user147529
2020 年 9 月 8 日 10:49
1
こんにちは、@JanHernandez さんたち。プル タブで、イメージの形式は europe-west1-docker.pkg.dev/bb-123/cloud-run-source-deploy/myservice です。 [リビジョン] タブに移動します。画像 URL をクリックします (右側、[コンテナ] -> [一般] -> [画像 URL])。これにより、Artifact Registry が表示されます。私には「プル」があります。次にタブを選択すると、「タグによるプル」が表示されます。そしてプルl ダイジェストで'どちらにも gcr.io プレフィックスはありません。 docker run -it を実行すると、イメージエラーが発生します。何かアイデアはありますか?
– アトレオン
2022 年 6 月 11 日 8:27