2

Google アプリ エンジン マネージド VM (フレキシブル環境) にファイルを書き込んでいます。コードをクラウドにデプロイしました。コードはファイルを開き、アクセス許可エラーなどのエラーを表示せずに書き込みます。ただし、ファイルを開こうとする別のコードは、「そのようなファイルまたはディレクトリはありません」で失敗しました。

場所のディレクトリを出力したので、ssh コマンドを使用しましたが、マネージド VM 内のファイルも見つかりません。また、マネージド VM のローカル ストレージへのファイルの書き込みに関するドキュメントが見つかりません。

では、管理された vm に書き込む方法は? デフォルトの保管場所は?ファイルが見つからないのはなぜですか?

4

1 に答える 1

2

VM 内でファイルが見つからない理由は、VM が Docker コンテナーを実行しており、アプリが実際にはそのコンテナー内にあるためです。必要docker exec -it <container-name> -- /bin/bashに応じて、コンテナー内を調べてみると、ファイルが表示されるはずです (docker psコンテナー ID を見つけるために使用します)。

App Engine フレキシブル (マネージド VM の新しい名前) では、コードは多くのコンテナにまたがってスケーリングされる可能性があるため、あるコンテナに書き込んだファイルが後でアクセスできるという保証はありません。一部の /tmp ファイルへの書き込みを処理することはできますが、それ以上のことはできません。Cloud Datastore、Cloud SQL、Memcache、Cloud Storage などにデータを書き込む方がはるかに優れています。

于 2016-05-24T19:56:10.423 に答える