web-dev-qa-db-ja.com

Dockerボリュームとしてのs3バケットの追加

私の内部データセンターにある1つのSpring Bootアプリケーションがあり、ホスト上の特定のフォルダーからのファイルを処理します。

これをawsにデプロイし、s3バケットを使用して処理するファイルをアップロードしたいと考えていました。

dockerボリュームとしてs3バケットスペースを追加する方法はありますか?

5
satyam.kudikala

マシンにドライブをマウントするためのDockerボリュームはありません( https://docs.docker.com/storage/volumes/

S3 APIを使用して、Dockerコンテナーからバケットを管理できます( https://docs.aws.Amazon.com/AmazonS3/latest/API/Welcome.html

0
Banjo Obayomi

AWS S3はオブジェクトストアであり、Dockerのボリュームとしてマウントすることはできません。

そうは言っても、SpringアプリケーションでS3を使用するのは非常に簡単で、spring-cloudと呼ばれるフレームワークが開発されています。 spring-cloudはAWSとうまく連動します。

ここにサンプルコードがあります:

public void uploadFiles(File file, String s3Url) throws IOException {
   WritableResource resource = (WritableResource) resourceLoader.getResource(s3Url);

   try (OutputStream outputStream = resource.getOutputStream()) {
       Files.copy(file.toPath(), outputStream);
   }
}

詳細なブログは こちら にあります。

0
doer_uvc