2017-08-08 1 views
5

私のphpサイトを仮想マシンからドッカーコンテナに移行したいと思います。私のサイトはアップロードされたすべてのファイルをuploadsディレクトリに保存しています。今度は、すべてのファイルをS3ストレージに転送して、Amazon S3にもアップロードしてください。しかし、私はPHPのアップローダークラスを書き直したくありません。 Dockerでシンボリックリンクフォルダまたは仮想フォルダを作成して、uploads/**パスのすべての書き込みと読み取りをS3ストレージにリダイレクトすることができますか?Docker:Amazon S3ストレージに `/ uploads`ディレクトリをバインドします

DockerはS3 Storage Driverをサポートしていますが、私はドッカーには新しく、dockerfileのs3ストレージにどのようにフォルダをマップするのか分かりません。私が見つけた他の例はありません。

ありがとうございました。

更新: Taruns answerを参照してください。また、AWS Storage Gatewayがホスティング環境にあることを知っていれば、唯一の良い解決策です。アップルしたり、あなたの考えを共有してください。

答えて

4

投稿されたS3ストレージリンクは、Dockerボリューム用ではなく、Dockerレジストリ設定用です。必要なのは、ハードドライブのフォルダをコンテナにマップすることです。ホスト上の/var/www/uploadsをコンテナ内のuploadsにマップするとします。

これで実際に/var/www/uploadsがS3バックアップされたフォルダとしてマウントされます。このためAmazonはAWS Storage Gatewayを開始しました。これを使用して、システム上にS3バックアップフォルダを作成することができます。以下は同じ

http://docs.aws.amazon.com/storagegateway/latest/userguide/ManagingLocalStorage-common.html

+0

ああ、明確化のためにあなたに感謝構成する方法の詳細Amazon.co.jpからの記事です。ドッカーレベルでは解決できないということですか?私たちはこれのためにホスティング環境を設定しなければなりませんか?しかし、私がホスティング環境にアクセスできない場合は、ドッカー画像のみを作成してどこでも実行できるようにしたいと考えています。 – tenbits

+0

私は2つの理由で疑いがあります。設定を見ると、 'インスタンスタイプを選択するとm4.xlargeインスタンスタイプが推奨されます。 'というように、コンテナ内で実行すると意味がありません。次に、それらはあらかじめインストールされた設定を提供するので、あなたはどこでも/どこでもそれを行うことができます –

+0

あなたの時間をありがとう、Tarun。ブラウザがいくつかのアップロードされたイメージをリクエストすると、そのリクエストはコンテナ内の 'upload'フォルダに移動し、システムのバックアップされたフォルダに移動します。'/var/wwww/AWS Storage Gatewayが 'read'を処理します。 ファイルが存在しない場合、ファイルはクラウドに送られ、ファイルがダウンロードされ、ユーザーに返されます。パイプラインは、私は理解して、正しいですか?再度、感謝します! – tenbits

関連する問題