Ubuntu18.10を使用してGCP上にVMインスタンスを作成しました。SSHでVMを変更せずに、次のことを試してください。
gcloud info
警告が表示されました:
System PATH: [/snap/google-cloud-sdk/66/usr/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/game
s:/snap/bin]
Python PATH: [/snap/google-cloud-sdk/66/lib/third_party:/snap/google-cloud-sdk/66/lib:/snap/google-cloud-sdk/66/usr/lib/python2.7/:/snap
/google-cloud-sdk/66/usr/lib/python2.7/plat-x86_64-linux-gnu:/snap/google-cloud-sdk/66/usr/lib/python2.7/lib-tk:/snap/google-cloud-sdk/6
6/usr/lib/python2.7/lib-old:/snap/google-cloud-sdk/66/usr/lib/python2.7/lib-dynload]
Cloud SDK on PATH: [False]
Kubectl on PATH: [False]
WARNING: There are old versions of the Google Cloud Platform tools on your system PATH.
/usr/bin/snap
次のコマンドで認証しようとすると:
Sudo gcloud auth configure-docker
そうですか:
WARNING: `docker-credential-gcloud` not in system PATH.
gcloud's Docker credential helper can be configured but it will not work until this is corrected.
WARNING: `docker` not in the system PATH.
`docker` and `docker-credential-gcloud` need to be in same PATH in order to work correctly together.
gcloud's Docker credential helper can be configured but it will not work until this is corrected.
The following settings will be added to your Docker config file
ごく最近のバージョンのgcloudがインストールされているようです。
Sudo gcloud version
Google Cloud SDK 230.0.0
alpha 2019.01.11
beta 2019.01.11
bq 2.0.39
core 2019.01.11
gsutil 4.35
kubectl 2019.01.11
そのようなインスタンスでgcloudを更新することは許可されていないようです。
次に、Dockerをインストールし、Dockerイメージをプルしました。
Sudo snap install docker
Sudo docker pull tensorflow/serving
これは正常に機能しています。問題は、GCPコンテナレジストリにイメージをプッシュできないことです。
Sudo docker tag tensorflow/serving gcr.io/xxx/tf-serving
Sudo docker Push gcr.io/xxx/tf-serving
Unauthorized: You don't have the needed permissions to perform this operation, and you may have invalid credentials. To authenticate your request
st, follow the steps in https://cloud.google.com/container-registry/docs/advanced-authentication
リンクでは、実行する必要があると説明されています。
Sudo gcloud auth configure-docker
問題を解決するにはどうすればよいですか?この問題は、VM?
WARNING: `docker-credential-gcloud` not in system PATH.
DockerHubにイメージを問題なくプッシュできます。
Google-cloud-sdkを再インストールしようとしました:
Sudo apt-get update && Sudo apt-get install google-cloud-sdk
しかし今、私は使用する必要があります:
Sudo gcloud alpha auth configure-docker
そして最後に私はまだ画像をプッシュすることができません。
これは、いくつかのパスの問題に関連しているようです。
Cloud SDK on PATH: [False]
Kubectl on PATH: [False]
WARNING: There are old versions of the Google Cloud Platform tools on your system PATH.
/usr/bin/snap
何か案が? GCPのドキュメントを段階的に実行しました。また、GCP IAMを調べて、バケットへのアクセスを許可します。
私はGCPとクラウドを初めて使用するので、おそらく明らかな何かが欠けています。ちなみに、シェルスクリプトを使用してDockerイメージを構築する必要があるため、このようなタイプのVMを使用する必要があります。これは、他のVM多くのものがすでにプリインストールされており、「noexec」フラグが付けられています。
これが現在機能しているものです(Googleの助けに感謝します)
セットアップ:
gCPでのDockerプル/プッシュのテスト
今これは動作します
問題は、snap
インストールである可能性があります。システムから/snap/google-cloud-sdk
を削除するだけです。または、which gcloud
をチェックして、どれが使用されているかを確認します。 apt バージョンではこれらのDockerパッケージを利用できないようです-また、$PATH
にはそのsnap
バージョンのみがリストされています。
通常、コンポーネントは次のように更新できます。
gcloud components update
またはリストされている:
gcloud components list
またはインストール済み:
gcloud components install docker-credential-gcr
スタンドアロンバージョンを次のようにインストールすることをお勧めします。
curl https://sdk.cloud.google.com | bash
snap
およびapt
バージョンを、ファイルシステムおよび$PATH
から削除した後。