0

Google Compute Engine上のVMインスタンス内のドッカーコンテナにローカルマシンからファイルをコピーする簡単な方法はありますか?GCloud:ローカルマシンからDockerコンテナにファイルをコピーする

私はgcloud compute ssh --container=XXがコンテナでコマンドを実行する簡単な方法だと知っていますが、類似のものはありませんgcloud compute scp --container=XXです。注:このVMとドッカーコンテナをコマンドで作成しました。gcloud alpha compute instances create-from-container ...

ファイルを転送できるだけでなく、rsyncタイプの機能があればうれしいです。

答えて

1

残念ながら、あなたの一部の設定なしでは利用できないようです(ベータ版ではありません)。ホストにマップされた自分のポートで受信しているコンテナ内でsshdを実行すると、ボリュームマップを作成できます:

  • のgcloud計算ファイアウォール・ルールは、CONTAINER-XX-SSH-RULEを作成--allow TCP:2022 --target-タグ= XX-HOST

  • のgcloud計算SCP --port 2022 - -recurse stuff/user @ XX-HOSTNAME:

    または

  • のscp -r -P 2022もの/ユーザー@ xxのホスト-IP:
1

は、私は一般的に、私はローカルマシンとクラウドの仮想マシン間でオブジェクトストレージを使用したアプローチを使用しています。 AWSでs3 syncを使用してください。gsutil rsync

まず、ローカルの開発マシンのデータは、展開準備ができたらオブジェクトストレージにプッシュされます。

  • (該当するデータは、gitリポジトリのスナップショット+バイナリ ファイルです)。
  • (問題の開発マシンはラップトップで、時には私のデスクトップ 、時にはクラウドIDEです。それらはすべてgitを実行します)。

次に、VMは、s3 syncを使用してオブジェクトストレージからコンテンツをプルします。 gsutilと同じことをして、GoogleオブジェクトストレージからGoogleコンテナにデータをプルすることができると思います。 (実際には、gsutilを使って雲の間でrsyncすることもできます)。

これは私のshoestring dev-ops環境です。もう少し作業はありますが、オブジェクトストレージをマシン間でデータのスナップショットを同期するための仲介者として使用すると、柔軟性が少し、再現可能な環境と安心して提供されます。

関連する問題